我正在将现有代码库迁移到 MSTest V2 并TestContext
在TestCleanup
方法中遇到问题。
在 MSTest V1 中,TestContext
该类是静态的,但在 V2 中,它是一个实例。我试图向该TestCleanup
方法添加一个参数,但随后我收到此消息:
该方法必须是非静态的、公共的、不返回值且不应带任何参数。
最终,我想知道正在清理的测试的名称及其测试结果。如果无法获取TestContext
,是否有任何其他方法可以在清理上下文中获取该信息?
我正在将现有代码库迁移到 MSTest V2 并TestContext
在TestCleanup
方法中遇到问题。
在 MSTest V1 中,TestContext
该类是静态的,但在 V2 中,它是一个实例。我试图向该TestCleanup
方法添加一个参数,但随后我收到此消息:
该方法必须是非静态的、公共的、不返回值且不应带任何参数。
最终,我想知道正在清理的测试的名称及其测试结果。如果无法获取TestContext
,是否有任何其他方法可以在清理上下文中获取该信息?
由于 TestCleanup 方法和 TestContext 不是静态的,因此您可以在 TestCleanup 方法中使用 TestContext 而无需任何参数。这是一个例子:
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace MyNamespace.Tests
{
[TestClass]
public class MyTestClass
{
public TestContext TestContext { get; set; }
[TestCleanup]
public void MyTestCleanup()
{
TestContext.WriteLine($"Test Cleanup for {TestContext.TestName}");
}
[TestMethod]
public void MyTestMethod1() { }
[TestMethod]
public void MyTestMethod2() { }
}
}