NUnit -在SetUpFixture上不允许使用TestFixtureSetUp方法而失败



我正试图重新组织一些集成测试,我们有,使他们使用一个公共类创建数据库和数据库中所需的数据,以测试在同一程序集中使用[SetUpFixture] NUnit属性的其他类。

我有:

namespace Tests;
public class TestBaseClass : SolutionBaseClass
{
    public void Setup()
    {
        base.CreateDatabase();
        base.CreateData();
    }
    public void Teardown()
    {
        base.DestroyDatabase();
    }
}
[SetUpFixture]
public class Setup : TestBaseClass
{
    [SetUp]
    public void Setup()
    {
        base.Setup();
    }
    [TearDown]
    public void Teardown()
    {
        base.Teardown();
    }
}

然后是单独的测试夹具类:

namespace Tests.Services;
[TestFixture]
public class LibraryTest : TestBaseClass
{
    [TestFixtureSetUp]
    public void SetupTests()
    {
        // I know am calling the same Setup twice once from SetUpFixture and TestFixture, 
        // I have handled it so that only one Database/Data gets set up once (for safety mostly!)
        base.SetUp();
        // Other class initialisations.
    }
}

任何想法我做错了,我认为这是一个问题与使用的继承模型,因为你可以告诉我继承这个从别人!!

谢谢。

在NUnit 3中,应该在[SetUpFixture]类的静态方法上使用onetimesetupatattribute和OneTimeTearDownAttribute。来源:http://bartwullems.blogspot.nl/2015/12/upgrading-to-nunit-30-onetimesetup.html

In NUnit 2.0

[SetUpFixture]
class TestHost
{
    [SetUp]
    public static void AssemblyInitalize()
    {
      //Global initialization logic here
    }
}

[SetUpFixture]
class TestHost
{
    [OneTimeSetUp]
    public static void AssemblyInitalize()
    {
      //Global initialization logic here
    }
}

NUnit 3.0中,TestFixtureSetUpTestFixtureTearDown已被重命名为OneTimeSetUpOneTimeTearDown

以下是上述更改的文档链接:

  • SetUp and TearDown Changes

相关内容

  • 没有找到相关文章

最新更新