Estoy buscando una forma de capturar el parámetro real pasado al método para examinarlo más tarde. La idea es obtener el parámetro pasado y luego ejecutar afirmaciones contra él.¿Cómo puedo escribir simulaciones que capturan los parámetros del método y examinarlos más tarde?
Por ejemplo:
var foo = Mock<Foo>();
var service = Mock<IService>();
service.Expect(s => s.Create(foo));
service.Create(new Foo { Currency = "USD" });
Assert(foo.Object.Currency == "USD");
O ejemplo un poco más complejo:
Foo foo = new Foo { Title = "...", Description = "..." };
var bar = Mock.NewHook<Bar>();
var service = new Mock<IService>();
service.Expect(s => s.Create(bar));
new Controller(service.Object).Create(foo);
Assert(foo.Title == bar.Object.Title);
Assert(foo.Description == bar.Object.Description);
Sí, esto funcionaría. ¡Gracias! – alex2k8
Me gusta mucho Moq. http://code.google.com/p/moq/ – TrueWill