Visual Studio 单元测试:运行 每次测试前的初始化代码
Visual Studio Unit tests: run initialization code before each test
我正在使用 Visual Studio 的测试工具进行单元测试。在每次测试.
之前,我需要一些初始化代码到运行
我有一个 Setup
class 的初始化代码。我已经在每次测试 运行 之前使用 [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
}
}
它 is [TestInitialize]
但是你的语法有误,它没有上下文:
[TestInitialize]
public static void InitializeTests()
{
//... code that runs before each test
}
以下应该有效(至少它适用于其他测试框架):
- 使用
TestInitialize
方法 创建基础 class DatabaseIntegrationTests
- 从该基础class
派生你的其他测试classes
我正在使用 Visual Studio 的测试工具进行单元测试。在每次测试.
之前,我需要一些初始化代码到运行我有一个 Setup
class 的初始化代码。我已经在每次测试 运行 之前使用 [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
}
}
它 is [TestInitialize]
但是你的语法有误,它没有上下文:
[TestInitialize]
public static void InitializeTests()
{
//... code that runs before each test
}
以下应该有效(至少它适用于其他测试框架):
- 使用
TestInitialize
方法 创建基础 class DatabaseIntegrationTests
- 从该基础class 派生你的其他测试classes