Überprüfung der generischen Methode, die mit Moq aufgerufen wird

8

Ich habe Probleme, zu überprüfen, dass der Schein von IInterface.SomeMethod<T>(T arg) mit Moq.Mock.Verify aufgerufen wurde.

Ich kann überprüfen, ob die Methode auf einer "Standard" -Schnittstelle aufgerufen wurde, entweder mit It.IsAny<IGenericInterface>() oder It.IsAny<ConcreteImplementationOfIGenericInterface>() , und ich habe keine Probleme, einen generischen Methodenaufruf mit It.IsAny<ConcreteImplementationOfIGenericInterface>() zu verifizieren, aber ich kann a nicht verifizieren Die generische Methode wurde mit It.IsAny<IGenericInterface>() aufgerufen - sie besagt immer, dass die Methode nicht aufgerufen wurde und der Komponententest fehlschlägt.

Hier ist mein Komponententest:

%Vor%

Hier ist meine Klasse im Test:

%Vor%

Hier ist mein IServiceInterface :

%Vor%

Und hier ist meine Schnittstelle / Klasse Vererbungshierarchie:

%Vor%     
sennett 27.02.2013, 23:55
quelle

2 Antworten

6

Es ist ein bekanntes Problem in der Moq 4.0.10827, die eine aktuelle Release-Version ist. Siehe diese Diskussion auf GitHub Ссылка . Ich habe seinen Dev-Zweig heruntergeladen, kompiliert und referenziert und nun ist dein Test bestanden.

    
Dmitriy Melnik 28.02.2013, 03:09
quelle
0

Ich werde es flügeln. Da GenericMethod<T> erfordert, dass ein T-Argument angegeben wird, wäre Folgendes möglich:

%Vor%     
user74754 28.02.2013 01:18
quelle

Tags und Links