MSTest 的全局测试初始化方法

快速提问,如何创建在运行解决方案中的所有测试之前只运行一次的方法。

25850 次浏览

创建一个用 启动程序属性修饰的公共静态方法。测试框架将在每次测试运行时调用这个 设置方法一次:

[AssemblyInitialize]
public static void MyTestInitialize(TestContext testContext)
{}

拆除来说:

[AssemblyCleanup]
public static void TearDown()
{}

编辑:

另一个非常重要的细节: 此方法所属的类必须用 [TestClass]修饰。否则,初始化方法将不会运行。

为了强调@driis 和@Malice 在已接受的答案中所说的内容,下面是您的全局测试初始化器类应该是这样的:

namespace ThanksDriis
{
[TestClass]
class GlobalTestInitializer
{
[AssemblyInitialize()]
public static void MyTestInitialize(TestContext testContext)
{
// The test framework will call this method once -BEFORE- each test run.
}


[AssemblyCleanup]
public static void TearDown()
{
// The test framework will call this method once -AFTER- each test run.
}
}
}

抱歉我的格式很烂。

        /// <summary>
/// Use TestInitialize to run code before running each test
/// Runs before every test executes
/// </summary>
[TestInitialize()]
public void TestInitialize()
{
...
...
}




/// <summary>
/// Use TestCleanup to run code after each test has run
/// Runs after every test executes
/// </summary>
[TestCleanup()]
public void TestCleanup()
{
...
...
}