2013-05-01 14 views
5

Ho una classe concreta che sto prendendo in giro usando Mock.Of, ma non ha un costruttore predefinito. C'è un modo per farlo funzionare senza dover interfacciare questo o utilizzando new Mock? Il primo è eccessivo in questo momento e il secondo è più brutto. Ho intenzione di provare a creare un metodo di estensione che restituisce un new Mock().Object, però non credo che Mock.Get funzionerà in questo scenarioMock.Of <T> con argomenti del costruttore

+0

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

+0

I l'ho guardato, ma non risolve il mio problema –

risposta

3

Si scopre che Moq fa oggetti pista creato normalmente (con new e passare indietro Object) in modo che possono essere utilizzati in Mock.Get. Quindi, questo funziona per me. Vorrei ancora prendere una costruito nel modo se ce n'è uno:

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