2013-05-01 6 views
5

Ich habe eine konkrete Klasse, die ich verspotten mit Mock.Of, aber es hat keinen Standardkonstruktor. Gibt es eine Möglichkeit, dies zum Laufen zu bringen, ohne diese Schnittstelle oder new Mock verwenden zu müssen? Ersteres ist zu dieser Zeit übertrieben, und letzteres ist hässlicher. Ich werde versuchen, eine Erweiterungsmethode zu schaffen, die eine new Mock().Object zurückgibt, aber ich glaube nicht, dass Mock.Get in diesem Szenario arbeitenMock.Of <T> mit Konstruktorargumente

+0

Verwandte: http://stackoverflow.com/questions/7414704/mocking-objects-with-moq-when-constructor-has-parameters –

+0

I sah das an, aber es löst mein Problem nicht –

Antwort

3

Es stellt sich heraus, dass Moq tut Objekte Spur normalerweise erstellt (mit new und übergeben Object zurück), so dass Sie können in Mock.Get verwendet werden. Also, das funktioniert für mich. Ich würde immer noch eine in Art und Weise aufgebaut, wenn es einen gibt:

public static T MockOf<T>(params Object[] args) where T : class 
{ 
    return new Mock<T>(args).Object; 
} 
Verwandte Themen