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

Schreibe einen Kommentar