FakeItEasy の Moq に相当するものを知っている人はいますIt.IsAny<T>
か?
メソッドが Type のインスタンスで呼び出されたことをアサートしたい
v.Do(new Foo());
私は試した:
A.CallTo(() => v.Do(A<Foo>.Ignored)).MustHaveHappened();
しかし、これも受け入れv.Do()
ます;
FakeItEasy の Moq に相当するものを知っている人はいますIt.IsAny<T>
か?
メソッドが Type のインスタンスで呼び出されたことをアサートしたい
v.Do(new Foo());
私は試した:
A.CallTo(() => v.Do(A<Foo>.Ignored)).MustHaveHappened();
しかし、これも受け入れv.Do()
ます;
あなたは正しいですA<Foo>.Ignored
(またはA<Foo>._
) はIt.IsAny<Foo>
Moq に相当します。
あなたの言うことが実際に正しいとしたら、バグにぶつかったようです。私はできるだけ早くそれに乗ります。
編集 バグを再現するために次の統合テストを作成しましたが、テストに合格したため再現できません。コードサンプルを提供していただけますか?
[Test]
public void Should_fail_assertion_when_overload_with_no_parameters_has_been_called_but_the_assertion_is_for_overload_with_parameters_but_ignoring_them()
{
// Arrange
var fake = A.Fake<ITypeWithOverloadedMethods>();
// Act
fake.Foo();
// Assert
Assert.Throws<ExpectationException>(() => A.CallTo(() => fake.Foo(A<int>._)).MustHaveHappened());
}
public interface ITypeWithOverloadedMethods
{
void Foo();
void Foo(int argument);
}