首页 > 解决方案 > MSTest 中的嵌套初始化

问题描述

我有一个测试类 A 进行了一些昂贵的初始化,还有一个测试类 B 也需要相同的初始化以及一些其他额外的初始化步骤。有没有办法定义测试类,以便 A 中昂贵的初始化只能执行一次并重用于运行 A 和 B?

为了更好地说明这一点,使用 NUnit,您可以使用 SetUpFixture 属性在命名空间中的所有测试之间共享初始化,因此您可以执行类似的操作来实现所描述的行为

[TestFixture]
public class A
{
    [SetUpFixture]
    public class SharedSetup
    {
        [OneTimeSetUp]
        public void Initialize() { /* This is executed only once */ }
    }

    [Test]
    public void TestA() { /* ... */ }

    [TestFixture]
    public class B
    {
        [OneTimeSetUp]
        public void Initialize() { /* Further initialization for B */ }

        [Test]
        public void TestB() { /* ... */ }
    }
}

但我无法用 MSTest 复制它。

标签: c#mstest

解决方案


推荐阅读