У меня есть зависимые тесты в моем наборе. Если мой первый тест не пройден, он также помечает все остальные тесты как неудачные. Таким образом, в конце он показывает, что все тесты не пройдены, что не соответствует действительности.
Есть ли способ, которым я могу пометить тест как «проваленный из-за сбоя зависимого теста» или что-то еще, чтобы он показал, что он провалился из-за сбоя зависимого теста.
Есть ли способ добавить новое состояние в тест вместо того, чтобы иметь только состояния прохождения, сбоя, невыполнения.
Я добавил общий флаг в наших тестах, который помечает тесты как проваленные при сбое любого зависимого теста.
Как вы можете видеть в коде ниже.
Он помечает тест как Assert.Fail внутри другой части, если предыдущий тест не удался.
Есть ли способ пометить его в каком-то другом состоянии и не сбить, например: «Сбой из-за сбоя зависимого теста».
bool hasPreviousTestCasePassed = false
[TestMethod]
public void DemoTest1()
{
try
{
////perform all the test steps
hasPreviousTestCasePassed = true;
}
catch (Exception ex)
{
hasPreviousTestCasePassed = false;
}
}
[TestMethod]
public void DemoTest2()
{
try
{
if (hasPreviousTestCasePassed)
{
///perform all the test steps and mark flag as true after all steps
hasPreviousTestCasePassed = true;
}
else
{
Assert.Fail("Execution for " + TestContext.TestName + " is aborted as the previous test case failed.");
}
}
catch (Exception ex)
{
hasPreviousTestCasePassed = false;
}
}
Ожидаемый результат будет состоять в том, чтобы иметь возможность пометить тест как Провал из-за сбоя зависимого теста, а не просто пометить его как провальный.
Идея, лежащая в основе этого, состоит в том, что, когда мой первый тест не проходит, он помечает весь тест как проваленный, и в результате говорится, что весь тест провалился, что на самом деле не соответствует действительности, поскольку они были выполнены.
Поэтому я хочу показать случай зависимого сбоя в отдельном состоянии, чтобы результаты были более ясными.