我正在使用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
}