如何从TestCleanup方法获取测试名称?

时间:2017-05-24 00:07:33

标签: c# .net visual-studio unit-testing mstest

我注意到[TestCleanup]方法无法获取TestContext参数。那我怎么知道哪个测试正在清理?

1 个答案:

答案 0 :(得分:3)

您可以在班级上拥有一个名为TestContext的公共属性,该公共属性将由MSTest设置,例如:

[TestClass]
public class UnitTest1
{
    public TestContext TestContext { get; set; }
    [TestMethod]
    public void TestMethod1()
    {
        var x = 2;
        var y = 1 + 1;
        Assert.AreEqual(x, y);
    }

    [TestMethod]
    public void TestMethod2()
    {
        Assert.AreEqual(true, true);
    }

    [TestCleanup]
    public void TestCleanup()
    {
        Debug.WriteLine(TestContext.TestName);
    }
}