代码之家  ›  专栏  ›  技术社区  ›  KPM

如何以编程方式获得NUnit重试迭代?

  •  1
  • KPM  · 技术社区  · 7 年前

    在NUnit 3中,您可以使用 Retry

    我想根据当前测试的迭代次数来执行一些代码,例如:

    if(CurrentTest.Retries > 1)
    {
       //do something
    }
    

    我查过了 TestContext.CurrentContext ,但似乎无法访问属性值,也无法通过 重试

    2 回复  |  直到 7 年前
        1
  •  3
  •   Charlie    7 年前

    没有内置的方法可以做到这一点。NUnit在内部维护计数。

    您的解决方法是维护一个跟踪计数的实例成员,将其初始化为零,并随着方法的每次执行而递增。如果您想对多个方法执行此操作,则每个方法都需要自己的计数器。

    在我看来,这将是NUnit团队提出的合理功能要求。

        2
  •  3
  •   Parag Bangad    4 年前

    你可能想试试

    TestContext.CurrentContext.CurrentRepeatCount
    

    这适用于NUnit 3.0