Vorbei Moq mock-Objekte an den Konstruktor
Habe ich mit RhinoMocks für eine gute Weile, aber nur begann, mich in Moq. Ich habe dieses sehr grundlegende problem, und es überrascht mich, dass dies nicht der Flug direkt aus der box. Angenommen ich habe die folgende Klassendefinition:
public class Foo
{
private IBar _bar;
public Foo(IBar bar)
{
_bar = bar;
}
..
}
Nun habe ich einen test, wo ich müssen zu Verspotten, die IBar, die senden auf Foo. In RhinoMocks ich würde einfach machen Sie es wie folgt, und es würde funktionieren, einfach toll:
var mock = MockRepository.GenerateMock<IBar>();
var foo = new Foo(mock);
Jedoch Moq dies scheint nicht zu funktionieren in der gleichen Weise. Ich mache Sie wie folgt vor:
var mock = new Mock<IBar>();
var foo = new Foo(mock);
Aber nun scheitert es - Sie sagte mir "Cannot convert from 'Moq.Mock' , 'IBar'. Was mache ich falsch? Was ist der empfohlene Weg, dies zu tun mit Moq?
InformationsquelleAutor der Frage stiank81 | 2011-08-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie gehen durch die Objekt-Instanz der mock
Können Sie auch verwenden, die das mock-Objekt zum Zugriff auf die Methoden der Instanz.
moq docs
InformationsquelleAutor der Antwort skyfoot
InformationsquelleAutor der Antwort Massimiliano Peluso