【问题标题】:Nunit , C# : Order of execution of Test Fixture Teardown NunitNunit , C# : Test Fixture Teardown Nunit 的执行顺序
【发布时间】:2020-04-22 06:14:12
【问题描述】:

我有一个测试夹具类 ABC,它继承自名为 BaseTest 的基类。 BaseTest 和 ABC 都定义了 testfixture 拆解和 testfixture 设置。

我想知道哪个 TestFixtureSetUp 和 TestFixtureTearDown 先执行。 请看下面的代码:

public class BaseTest 
{
  [TestFixtureSetup]
  public void BaseSetup()
  {
  }

  [TestFixtureTearDown]
  public void BaseTearDown()
  {
  }
}

 public class ABC : BaseTest
{
  [TestFixtureSetup]
  public void Setup()
  {
  }

  [TestFixtureTearDown]
  public void TearDown()
  {
  }
}

我想知道是先执行 BaseTearDown 还是先执行 TearDown?

【问题讨论】:

  • 为什么不将基方法设为虚拟并在派生类中覆盖它们呢?然后你就可以完全控制了。

标签: c# nunit


【解决方案1】:

这种情况下的执行顺序是由 NUnit 严格定义的。

基类TestFixtureSetUp总是首先执行,派生类TestFixtureSetUp。 TestFixtureTearDown 方法以相反的顺序执行:派生类在前,然后是 bsse 类。

请注意,TestFixtureSetUp 和 TestFixtureTearDown 用于早期版本的 NUnit。在较新的版本中,改用 OneTimeSetUp 和 OneTimeTearDown。执行顺序保持不变。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-26
    • 1970-01-01
    • 1970-01-01
    • 2015-04-22
    • 2011-02-23
    相关资源
    最近更新 更多