Decir que tengo el siguiente:Cómo se burlan de una llamada a un método que toma un objeto dinámico
public interface ISession
{
T Get<T>(dynamic filter); }
}
y tengo el siguiente código que desee probar:
var user1 = session.Get<User>(new {Name = "test 1"});
var user2 = session.Get<User>(new {Name = "test 2"});
¿cómo iba a burlarse ¿esta llamada?
Usando Moq, que cansado de hacer esto:
var sessionMock = new Mock<ISession>();
sessionMock.Setup(x => x.Get<User>(new {Name = "test 1")).Returns(new User{Id = 1});
sessionMock.Setup(x => x.Get<User>(new {Name = "test 1")).Returns(new User{Id = 2});
Y eso no funcionó. Los resultados devueltos es nula
También traté de hacer lo siguiente con burla de Rhino:
var session = MockRepository.GenerateStub<ISession>();
session.Stub(x => x.Get<User>(new {Name = "test 1"})).Return(new User{Id=1});
No hubo suerte tampoco. Nulo de nuevo.
Entonces, ¿cómo podría hacer esto?
Gracias,
¡Perfecto! Exactamente lo que necesito ¡Gracias! –