如何在MSTest中显式退出数据驱动的测试方法

时间:2016-05-12 01:22:17

标签: mstest data-driven-tests

我在MS测试框架中使用数据驱动测试功能。 [DataSource]属性指定表。 C#方法标记为[TestMethod]。它有效,但有时我需要停止执行。例如,表有100行。如何显式(过早地)退出测试方法(停止其余的DDT调用)在一些条件之后,比如在第50行调用此方法期间?

 [DataSource("System.Data.SQLite", @"Data Source=D:\Test.db;", "TestTableName", 
     DataAccessMethod.Sequential)]
     [TestMethod]
    public void DataTest()
    {
        string userId = Convert.ToString(TestContext.DataRow["userid"]);
        string telephone = Convert.ToString(TestContext.DataRow["telephone"]);
        string email = Convert.ToString(TestContext.DataRow["email"]);

        // .....

        functionThatPerformsAssert(userId, telephone, email);
        // .....

    }

1 个答案:

答案 0 :(得分:1)

我解决了从functionThatPerformsAssert()调用 Assert.Inconclusive 的问题,其中_skipTest确定是否跳过数据驱动测试中的当前行并开始下一行:

if (_skipTest)
            Assert.Inconclusive("Test Skipped");