Dummy 在 FakeItEasy 中用于什么?它与 A.Fake 或 A.Ignored 有什么不同?
谢谢 :-)
Dummy 在 FakeItEasy 中用于什么?它与 A.Fake 或 A.Ignored 有什么不同?
谢谢 :-)
虚假对象(dummy)在FakeItEasy本身并没有实际用途,它只是一种创建虚假实例的方式,您可以在测试中使用它们。
例如,假设您想要测试以下类:
public class Foo
{
public void Bar(DateTime someDate);
}
现在,在你的测试中,你想调用bar方法,但是传递给它的值对于测试不重要。你可以这样写:
foo.Bar(new DateTime(2000, 1, 1));
你可以写成:
你可以这样写:
foo.Bar(A.Dummy<DateTime>());
这表示该值对测试来说真的不重要,所以使用它的整个原因是为了更好地传达意图。Dummy
是 A<>.Ignored
的低级版本吗?后者使用起来更有意义。 - silkfireA<T>.Ignored
是由用户提供的,用于断言调用是否发生。它将匹配调用中提供的任何参数(当您只关心其他一些参数时非常有用)。您只能在断言内部使用 A<>.Ignore。我永远不会在断言内部使用 Dummy,因为它会导致 FakeItEasy 对该值执行相等性检查,如果将来检查的参数发生更改,则测试将失败。 - Blair Conrad