sap*_*ire 5 c# unit-testing moq
如何使用 C# 中的 moq 库设置通用方法?如
Interface IA
{
void foo();
void Get<T>();
}
[Fact]
public void SetupGenericMethod()
{
var mock = new Mock<IA>();
mock.Setup(x=> x.Get<It.IsAny<???>()>()
}
Run Code Online (Sandbox Code Playgroud)
测试时,您应该知道T测试的内容。使用设置的类型。另外,根据示例中的命名,Get<T>应该返回一些内容。
Interface IA
{
void foo();
T Get<T>();
}
[Fact]
public void SetupGenericMethod()
{
var mockT = new Mock<FakeType>();
var mock = new Mock<IA>();
mock.Setup(x=> x.Get<FakeType>()).Returns(mockT.Object);
}
Run Code Online (Sandbox Code Playgroud)
如果您实际上正在寻找任何给定类型参数的模拟泛型方法调用。那么这个问题的答案是放弃创建模拟并使用 Stub ,或者自己模拟接口而不是使用模拟框架。
| 归档时间: |
|
| 查看次数: |
3706 次 |
| 最近记录: |