Visual Studio单元测试检测失败

时间:2015-02-28 15:21:28

标签: visual-studio unit-testing

所以我在Visual Studio 2015中编写测试,并使用MS UnitTesting执行它来运行它。我想要做的是编写一些代码然后在完成测试时我可以更新一个拉力测试用例。我正在寻找的是如何检测刚刚运行的测试用例是否通过。我一直在看反射,但没有看到测试的选项

[TestCleanup()]
public void MyTestCleanup()
{
    // Code to check if test passes or fails

    Common.DriverQuit();
}

然后基于该答案,我可以编写其余的代码。我只需要知道如何在可能的情况下获得对测试结果的访问权。

2 个答案:

答案 0 :(得分:3)

MSTest框架有一个TestContext类,它包含与当前测试相关的所有信息。您可以通过声明一个同名的属性来访问它,然后由框架自动设置:

[TestClass]
public class UnitTest1
{
    private TestContext testContextInstance;

    public TestContext TestContext
    {
        get { return testContextInstance; }
        set { testContextInstance = value; }
    }

    ...

声明后,您可以直接访问所需信息:

[TestCleanup]
public void Cleanup()
{
    if (TestContext.CurrentTestOutcome == UnitTestOutcome.Failed)
    {
        // whatever...
    }
}

答案 1 :(得分:0)

所以我找到了解决方案。我正在寻找的是TestContext。

TestContext.CurrentTestOutcome

这会给我一串通过或失败的