这是我的类实现,其中泛型实现了两个接口......
public class ClassA<TGeneric> : where TGeneric: IInterfaceA, IInterfaceB
Run Code Online (Sandbox Code Playgroud)
我想要Mock ClassA.但是,我不能用
var mock = new Mock<Class<A<IInterfaceA>>();
Run Code Online (Sandbox Code Playgroud)
要么
var mock = new Mock<Class<A<IInterfaceB>>();
Run Code Online (Sandbox Code Playgroud)
因为泛型需要两个接口的实现.我知道你可以使用moq上的As()方法来模拟具有多个接口的对象,但我实际上并没有一个对象,而是泛型类型.
思考?
谢谢...
您可以定义一个包含接口A和B的接口(在测试项目中,用于测试目的),然后在模拟中使用它.
public interface ICanTestAAndB : IInterfaceA, IInterfaceB {}
var mock = new Mock<ClassA<ICanTestAAndB>>();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1395 次 |
| 最近记录: |