如果ClassInitialize或TestInitalize失败,如何中止运行测试用例?

时间:2019-06-18 07:41:20

标签: c# .net unit-testing

我正在Visual Studio中使用Microsoft单元测试,并且如果ClassInitialize(前提条件)失败,我也不想运行测试用例。 如果ClassInitialize失败,是否可以停止或跳过运行测试用例的方法? TestInitialize是否失败只是一个测试用例,同样的问题。

C#中的测试代码示例:

    [ClassInitialize()]
    public static void MyClassInitialize(TestContext testContext)
    {
        SetupTestSystem();
        if (IsTestSystemOK == false)
        {
            SetFail(); //Don't run test cases. Only highlight that ClassInitialize failed.
        }
    }

    [TestInitialize()]
    public void MyTestInitialize()
    {
        SetupForTesting();
        if (IsTestSystemOK() == false)
        {
            SetFail(); //Don't run test case, only highlight that TestInitialize failed. 
        }
    }

    [TestMethod]
    public void TestMethod1()
    {
        //If ClassInitialize or TestInitialize fails, don't run me.
    }

1 个答案:

答案 0 :(得分:0)

您可以将SetFail()方法调用替换为throw new InvalidOperationException("Test Initialisation failed")。这将使所有测试无法通过