【发布时间】:2018-10-12 09:33:01
【问题描述】:
我希望能够检查模拟方法是否返回字符串类型而不是特定字符串。到目前为止,我得到了:
this.mockFoo.Setup(k => k.FooMethod(It.Is<string>(s => string.IsNullOrEmpty(s).Equals(false))));
我知道在Setup 之后有一个Returns() 方法可用。但是,它似乎想知道要返回的特定值。关键是我不想提供具体值,因为它不是测试中的案例。
我怎样才能做到这一点?
【问题讨论】:
-
FooMethod的返回类型是什么? -
如果我理解正确,您想测试内部调用 FooMethod 的 BarMethod 吗?如果 BarMethod 将任何(非空)字符串传递给 FooMethod,则测试应该是绿色的?
-
FooMethod的@Spotted 返回类型是 Task。我试过了: .Returns(() => Task.FromResult<string>("specificValue"))但它要求返回特定的值。 -
@Georg Patscheider 我没有
BarMethod。
标签: c# unit-testing moq