【发布时间】:2019-10-09 16:03:37
【问题描述】:
我的套件中有相关的测试用例。如果我的第一个测试失败,它也将所有其他测试标记为失败。所以最后它表明所有的测试用例都失败了,这是不正确的。
有没有一种方法可以将测试标记为“由于依赖测试失败而失败”或其他内容,以便显示它失败是因为依赖测试失败。 有没有办法在测试中添加新状态,而不是只有通过、失败、未执行状态。
我在我们的测试中添加了一个通用标志,当任何依赖测试失败时,它将测试标记为失败。 正如您在下面的代码中看到的那样。 如果之前的测试失败,它将测试标记为 Assert.Fail 在 else 部分。 有没有办法将其标记为其他状态并且没有失败,例如:“由于依赖测试失败而失败”。
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;
}
}
预期的结果是有一种方法可以将测试标记为由于相关测试失败而失败,而不仅仅是将其标记为失败。
这样做背后的想法是,当我的第一个测试失败时,它会将所有测试标记为失败,结果表明所有测试都失败了,这实际上并不是真的,因为它们被执行了。
所以我想要一种方法以单独的状态显示相关故障,以便结果更清晰。
【问题讨论】:
标签: c# testing automated-tests ui-automation coded-ui-tests