Visual Studio单元测试:在每个测试之前运行初始化代码



我正在使用Visual Studio的测试工具进行单元测试。在每个测试之前

我有一个用于初始化代码的Setup类。我已经在使用 [AssemblyInitialize]之前添加了在每个测试运行之前运行的代码,但是我不知道如何在一个测试的基础上进行相同的操作。

我尝试使用[TestInitialize]属性,但这仅适用于与[TestInitialize]方法同一文件中的测试。我希望初始化代码能够自动为程序集中的所有测试运行,而无需在每个测试文件中明确调用它。

[TestClass]
public class Setup
{
    [AssemblyInitialize]
    public static void InitializeTestRun(TestContext context)
    {
        //... code that runs before each test run
    }
    [TestInitialize] //this doesn't work!
    public static void InitializeTest()
    {
        //... code that runs before each test
    }
}

以下应有作用(至少与其他测试框架一起使用):

  • 使用TestInitialize方法创建基类数据库IntegrationTests
  • 从该基类得出其他测试级

it [TestInitialize],但是您的语法错误,它不采用上下文:

[TestInitialize]
public static void InitializeTests()
{
    //... code that runs before each test
}

相关内容

最新更新