He estado usando RhinoMocks por un buen tiempo, pero solo comencé a buscar en Moq. Tengo este problema muy básico, y me sorprende que esto no salga de la caja. Suponga que tengo la siguiente definición de clase:Pasando moq-objects Moq al constructor
public class Foo
{
private IBar _bar;
public Foo(IBar bar)
{
_bar = bar;
}
..
}
ahora tengo una prueba en la que necesito para burlarse del IBar que enviar a Foo. En RhinoMocks simplemente me gustaría hacerlo como se indica, y que iba a funcionar simplemente genial:
var mock = MockRepository.GenerateMock<IBar>();
var foo = new Foo(mock);
Sin embargo, esto no parece en Moq a trabajar de la misma manera. Estoy haciendo de la siguiente manera:
var mock = new Mock<IBar>();
var foo = new Foo(mock);
Sin embargo, ahora no - me dice "No se puede convertir de 'Moq.Mock' a 'IBar' ¿Qué estoy haciendo mal ¿Cuál es la forma recomendada de hacer esto.? con Moq?
+1 por ser tan sólo 10 segundos por detrás de la respuesta que será el aceptado. ¡Gracias! – stiank81
Normalmente, no asignaría la instancia del objeto a una variable como esta, ya que es posible que desee configurar el simulacro para un comportamiento específico. – skyfoot
era solo para mostrar .Object que era la solución al error en tiempo de ejecución que estaba teniendo :-) –