wie man It.IsAny in FakeItEasy?
-
08-10-2019 - |
Frage
Hat jemand das Äquivalent von Moq It.IsAny<T>
in FakeItEasy wissen?
Ich mag behaupten zu tun, dass ein Verfahren mit einer Instanz einer Art genannt wurde
v.Do(new Foo());
Ich habe versucht:
A.CallTo(() => v.Do(A<Foo>.Ignored)).MustHaveHappened();
aber akzeptiert auch v.Do()
;
Lösung
Du hast Recht im A<Foo>.Ignored
(oder A<Foo>._
) ist das Äquivalent von It.IsAny<Foo>
in Moq.
Es scheint, dass Sie einen Fehler getroffen haben, wenn, was sagen Sie eigentlich richtig ist. Ich werde so schnell wie möglich auf es.
Bearbeiten Ich habe den folgenden Integrationstest, um den Fehler reproduziert, aber der Test bestanden wird, damit ich nicht in der Lage bin, es zu reproduzieren, könnten Sie ein Codebeispiel zur Verfügung stellen?
[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);
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow