在NUnit测试中未调用OnTearDown

时间:2018-08-16 10:52:15

标签: c# nunit

我要使用NUnit和FakeItEsay进行单元测试。我有一个问题,因为我已经在测试的OnTearDown中初始化了一些对象,希望这些对象将可用于我编写的所有测试。

由于在任何测试中均未初始化对象,因此在测试中出现错误。

我想念什么吗?

reservationFor.location.address

1 个答案:

答案 0 :(得分:4)

TearDown用于在测试方法完成后清理 。在您的示例中,它将在testA完成后被调用,因此属性a显然未初始化。

使用SetUp Attribute初始化测试环境。您还应该考虑使用OneTimeSetUp Attribute来初始化一个初始化方法,而不是每个 test方法一次,每个初始化方法调用一次。如果确实需要每个测试方法一次初始化引用的对象,则最好在测试方法本身中显式调用初始化,因为这样可以减少方法之间的依赖性。