Как явным образом выйти из метода управления данными в MSTest
Я использую функцию управления данными в MS Test Framework. Атрибут [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 ответ
Решение
Я решил эту проблему, вызвав Assert.Inconclusive из functionThatPerformsAssert(), где _skipTest определяет, следует ли пропустить текущую строку в тесте, управляемом данными, и начать следующую строку:
if (_skipTest)
Assert.Inconclusive("Test Skipped");