如何在TestCleanup方法中获取MSTest V2 TestContext的实例?

时间:2019-05-14 22:17:31

标签: mstest testcontext

我正在将现有代码库迁移到MSTest V2,并在TestContext方法中遇到TestCleanup的问题。

在MSTest V1中,TestContext类是静态的,但是在V2中,它是一个实例。我尝试将参数添加到TestCleanup方法中,但随后出现以下消息:

  

该方法必须是非静态的,公共的,不返回值并且不能使用任何参数。

最终,我想知道要清理的测试的名称及其测试结果。如果无法获取TestContext,在清理上下文中还有其他方法可以获取该信息吗?

1 个答案:

答案 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() { }
    }
}