gpt4 book ai didi

c# - NUnit - 如何动态运行测试子集

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

我正在使用 NUnit 通过控制台运行器来驱动 Selenium WebDriver 测试。因为这些是 WebDriver 测试(而不是标准单元测试),所以测试可能会因外部原因而失败,例如网页超时。

我需要能够自动重新运行任何失败的测试,以查看测试失败是因为测试违规,还是仅仅因为测试因超时而失败。

我已经将通过/失败状态记录到数据库中,我想做的是在原始测试运行后立即自动重新运行任何失败的测试。我当然可以手动执行此操作,但这会失去自动化测试的乐趣!

如何动态地告诉 NUnit 在代码中运行一组测试? (我知道如何生成失败测试的列表/数组,但不知道如何将该列表或测试数组传递给 NUnit 以动态重新运行。

最佳答案

我之前对此进行了一些研究。有一个功能请求,但在 NUnit 3.0 发布之前不会出现。我也不认为此时您可以在不自己编写自定义属性的情况下动态执行任何失败的测试。但是,有一个名为 NUnit retry 的项目给了一点灵 active 。 Retry 属性可以在 UI 测试因外部原因失败时帮助您解决问题。它为您提供了重试测试 n 次的选项。

private static int run = 0;

...

[Test]
[Retry(Times = 3, RequiredPassCount = 2)]
public void One_Failure_On_Three_Should_Pass()
{
run++;

if (run == 1)
{
Assert.Fail();
}

Assert.Pass();
}

取自here

关于c# - NUnit - 如何动态运行测试子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28420761/

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