我正在使用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
}
}
答案 0 :(得分:6)
以下内容应该有效(至少它可以与其他测试框架一起使用):
TestInitialize
方法答案 1 :(得分:4)
is [TestInitialize]
但您的语法错误,不需要上下文:
[TestInitialize]
public static void InitializeTests()
{
//... code that runs before each test
}