什么是假人在FakeItEasy中使用

本文关键字:FakeItEasy 假人 什么 | 更新日期: 2023-09-27 18:11:36

什么是Dummy用于FakeItEasy?它与A.Fake或a . ignore有何不同?

谢谢:-)

什么是假人在FakeItEasy中使用

假人实际上并没有被FakeItEasy本身用于任何事情,它仅仅是一种创建可以在测试中使用的假人实例的方法。

例如,假设您想测试以下类:

public class Foo
{
    public void Bar(DateTime someDate);
}

现在,在您的一个测试中,您想调用bar方法,但传递给它的值对测试不重要,而不是写:

foo.Bar(new DateTime(2000, 1, 1));

你可以写:

foo.Bar(A.Dummy<DateTime>());

这表明该值对测试并不重要,所以使用它的全部原因是为了更好地传达意图。

@Patrik Hägne的回答描述了用户如何使用Dummy,但故事还有另一部分。FakeItEasy确实利用了Dummies。

当FakeItEasy必须通过调用类的一个构造函数来创建一个Fake类实例(或者有时是另一个Dummy类实例),并且构造函数接受参数时,它将使用Dummies作为参数。

我建议您查看Dummies文档