gpt4 book ai didi

c# - 如何正确地将我的测试错误添加到堆栈中,以便测试不会停止执行?

转载 作者:太空宇宙 更新时间:2023-11-03 23:30:17 29 4
gpt4 key购买 nike

我使用 SeleniumWebdriver C# 构建自动化测试。我还使用 NUnit 来标记测试方法(这样我就可以运行它们)。

在每个测试中都有多个验证,当第一个验证失败时,测试将停止执行(抛出异常)。

我希望测试继续执行以便发现更多错误!

拜托大家,给我一个正确方法的线索。

我在想类似的事情:

  1. 我不会在验证中抛出异常,而是将错误添加到堆栈
  2. 当测试结束时,我检查我的堆栈是否不为空
  3. 如果堆栈不为空,我将推送以控制所有错误并使测试失败
  4. 如果堆栈为空则测试成功通过。

这些步骤好吗?有没有更好的办法?

最佳答案

我认为这应该适合您。

class Asserts
{
private static StringBuilder _stack;

[SetUp]
public void SetUp()
{
_stack = new StringBuilder();
}

[TearDown]
public void TearDown()
{
if (_stack.Lenght != 0) Assert.Fail(_stack.ToString());
}

[Test]
public void Test()
{
AssertHelper(() => Assert.AreEqual(0, 0));
AssertHelper(() => Assert.IsNotNull(null));
AssertHelper(() => Assert.AreEqual(3, 4));
AssertHelper(() => Assert.AreEqual(1, 1));
}

private static void AssertHelper(Action assert)
{
try
{
assert();
}
catch (AssertionException e)
{
_stack.Append(e.Message);
}
}
}

但好主意是每次测试保留一次验证。

关于c# - 如何正确地将我的测试错误添加到堆栈中,以便测试不会停止执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32518603/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com