2
以下のシグネチャを持つメソッドがあります。FakeItEasy& "params"引数
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);
私は、誰かがそれを変更した場合、ユニットテストが壊れるように、第2引数の値を指定できるようにすることを好むだろう:私はこれが仕事を得ることができる唯一の方法は、使用することです。
卓越した:それまではhttps://github.com/patrik-hagne/FakeItEasy/issues?sort=created&direction=desc&state=open
、最適な回避策はこれです。最初はまだ動作していませんでしたが、私はに変更しました。それは.SsSequenceAs(新しい文字列[] {"SomeChild"})のように機能しました。 –
私はgithubに問題を追加しました。 –
偉大な、私は問題の修正を考え出すことを試みます。 –