FakeIseasy不允许设置要返回的值
本文关键字:返回 不允许 设置 FakeIseasy | 更新日期: 2023-09-27 17:59:44
我不明白为什么FakeItEasy
不允许我用参数设置公共方法的返回值。
代码:
var fakeInstanse = A.Fake<SomeClass>();
A.CallTo(() => fakeInstanse.Method(param1, param1));
Method
是公共的,接受两个参数。通常,我会在第二行代码中调用Returns()
方法,但VisualStudio并没有在可用的代码中显示它。
什么可能会影响这种行为?SomeClass
或Method
定义的哪一部分可能导致这种情况?
通常情况下,这应该可以工作。看看这个通过测试:
public class SomeClass
{
public virtual int Method(int arg1, int arg2)
{
return 7;
}
}
[TestFixture]
public class TestFixture
{
[Test]
public void Should_be_able_to_set_return_value()
{
const int param1 = 9;
var fakeInstanse = A.Fake<SomeClass>();
A.CallTo(() => fakeInstanse.Method(param1, param1))
.Returns(8);
Assert.That(fakeInstanse.Method(param1, param1), Is.EqualTo(8));
}
}
您的Method
退货类型是什么?根据你的描述,我猜是void
。
你能给我们看一下SomeClass(和SomeClass.Method)的声明吗?否则,我们将无法给出建设性的答案。此外,您可以在FakeIseasy"什么可以伪造"文档页面上找到一些帮助。