我可以在NUnit运行测试之前和之后执行代码吗?

时间:2010-06-07 20:50:14

标签: c# nunit

我在NUnit中有一堆测试,它们在文件系统上创建了垃圾数据(糟糕,我知道,但我对此无法控制)。目前我们有一个清除工具,可以删除这些临时工具等,但我希望能够自动运行该清理工具。所有测试运行完毕后,我必须能够运行它。我有类似的检查,我想在开始时做,以确保以前的运行中没有留下任何可能改变测试结果的临时工具。

这样的事情很简单,还是我要为这样的事情实施一个全新的测试运行器?

3 个答案:

答案 0 :(得分:22)

是,

使用类的[SetUpFixture]属性以及该类的方法的[SetUp][TearDown]属性。

  

SetUpFixture中的SetUp方法在其命名空间中包含的任何fixture之前执行一次。在所有灯具完成执行后,TearDown方法执行一次。在下面的示例中,在NUnit.Tests命名空间中的任何测试或设置方法之前调用RunBeforeAnyTests()方法。在命名空间中的所有测试以及它们的单个或夹具拆卸完成后,都会调用RunAfterAnyTests()方法。

Source(在页面上显示2.4,但在2.5中可用)

答案 1 :(得分:4)

答案 2 :(得分:1)

是的,在类上使用SetupFixture属性,并在运行测试前使用[SetUp]进行初始化,然后使用[TearDown]进行清理。