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

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

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

是,

对类使用[SetUpFixture]属性,对该类的方法使用[SetUp][TearDown]属性。

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

来源 (它在页面上显示2.4,但在2.5中可用)

看一下TestFixtureSetUp和TestFixtureTearDown 。

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