我有一个带有以下签名的方法。
Foo GetFooById( int id, params string[] children )
此方法在名为 IDal 的接口上定义。
在我的单元测试中,我写了以下内容:
IDal dal = A.Fake<IDal>();
Foo fooToReturn = new Foo();
fooToReturn.Id = 7;
A.CallTo(()=>dal.GetFooById(7, "SomeChild")).Returns(fooToReturn);
测试运行时,签名与第二个参数不匹配。我尝试将其更改为:
A.CallTo(()=>dal.GetFooById(7, new string[]{"SomeChild"})).Returns(fooToReturn);
但这也没有成功。我可以让它工作的唯一方法是使用:
A.CallTo(()=>dal.GetFooById(7, A<string[]>.Ignored )).Returns(fooToReturn);
我希望能够指定第二个参数的值,这样如果有人更改它,单元测试就会中断。