per deridere un metodo protetto virtuale (non generica) in Moq è facile:derisione un metodo generico protetto con Moq
public class MyClass
{
....
protected virtual int MyMethod(Data data){..}
}
E per deridere esso:
myMock.Protected().Setup<int>("MyMethod", ItExpr.Is<Data>(...
non riuscivo a trovare un modo di usare la stessa tecnica se il metodo protetto è generico, come:
protected virtual int MyMethod<T>(T data)
Qualsiasi idea di come farlo, oltre ad utilizzare una classe wrapper per overri de quel metodo, è molto apprezzato.
Non so se è possibile. La prima cosa che ho provato è stata passare MyMethod'1 [T] a Setup(), ma non sembrava ingannarlo. Potresti provare a giocare con quello, comunque. –