我在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);
// .....
}
答案 0 :(得分:1)
我解决了从functionThatPerformsAssert()调用 Assert.Inconclusive 的问题,其中_skipTest确定是否跳过数据驱动测试中的当前行并开始下一行:
if (_skipTest)
Assert.Inconclusive("Test Skipped");