【问题标题】:SetUp and TearDown for entire run in Nunit?Nunit中整个运行的SetUp和TearDown?
【发布时间】:2014-04-29 14:04:57
【问题描述】:

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

有没有一些“超级”的设置方法或实践来解决这个问题?

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

【问题讨论】:

    标签: nunit integration-testing


    【解决方案1】:

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

    这是一个例子:

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

    【讨论】:

    • 作为使用构造函数的替代方法(例如,如果 FxCop 抱怨它),您可以使用 [SetUp] 属性标记该 [SetUpFixture] 类中的任意公共方法;同样,任何公共方法都可以使用[TearDown] 属性进行标记,而不需要实现IDisposable
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-10
    • 2015-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-12
    相关资源
    最近更新 更多