我正在将现有代码库迁移到MSTest V2,并在TestContext
方法中遇到TestCleanup
的问题。
在MSTest V1中,TestContext
类是静态的,但是在V2中,它是一个实例。我尝试将参数添加到TestCleanup
方法中,但随后出现以下消息:
该方法必须是非静态的,公共的,不返回值并且不能使用任何参数。
最终,我想知道要清理的测试的名称及其测试结果。如果无法获取TestContext
,在清理上下文中还有其他方法可以获取该信息吗?
答案 0 :(得分:0)
由于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() { }
}
}