在Nunit中为整个运行设置和拆卸?

在Nunit中为整个运行设置和拆卸?,nunit,integration-testing,Nunit,Integration Testing,我想使用NUnit运行GUI/集成测试。 我想做的是在所有测试之前初始化一些定制报告(来自我们使用的GUI测试框架),并在整个套件运行之后运行报告导出 是否有一些“超级”设置方法或实践来解决此问题 我曾考虑在所有其他测试之前和之后运行一个特殊的“TestFixture”,但这是一个非常糟糕的想法。 另一种方法是在之后运行一些脚本,但这并不能解决日志的预运行初始化问题。您可以在运行所有测试之前使用[SetUpFixture]属性实例化类。将首先调用此类的构造函数。如果此类实现了IDisposabl

我想使用NUnit运行GUI/集成测试。 我想做的是在所有测试之前初始化一些定制报告(来自我们使用的GUI测试框架),并在整个套件运行之后运行报告导出

是否有一些“超级”设置方法或实践来解决此问题

我曾考虑在所有其他测试之前和之后运行一个特殊的“TestFixture”,但这是一个非常糟糕的想法。
另一种方法是在之后运行一些脚本,但这并不能解决日志的预运行初始化问题。

您可以在运行所有测试之前使用
[SetUpFixture]
属性实例化类。将首先调用此类的构造函数。如果此类实现了
IDisposable
,则在运行所有测试后将调用
Dispose
方法

下面是一个例子:

[SetUpFixture]
public class IntegrationSetUpFixture : IDisposable
{
    public IntegrationSetUpFixture()
    {
        // runs before all tests
    }

    public void Dispose()
    {
        // runs after all tests
    }
}

作为使用构造函数的替代方法(例如,如果FxCop抱怨),您可以使用
[SetUpFixture]
属性标记该
[SetUp]
类中的任意公共方法;类似地,任何公共方法都可以用
[TearDown]
属性标记,而不需要实现
IDisposable