如何以编程方式获取 NUnit Retry 迭代?
How can I get the NUnit Retry iteration programmatically?
在 NUnit 3 中,如果 returns 失败,您可以通过测试 x 次 Retry
属性将测试修饰为 运行。有没有办法以编程方式检索重试测试的次数?
我想根据当前测试经历了多少次迭代来执行一些代码,例如:
if(CurrentTest.Retries > 1)
{
//do something
}
我已经在 TestContext.CurrentContext
下进行了检查,但似乎无法访问属性值,也无法通过 Retry
属性访问当前测试 运行 的次数。
没有内置方法可以做到这一点。 NUnit 在内部维护计数。
您的解决方法是维护一个跟踪计数的实例成员,将其初始化为零并在每次执行该方法时递增它。如果您想对不止一种方法执行此操作,则每种方法都需要自己的计数器。
在我看来,这是向 NUnit 团队提出的合理功能要求。
你可能想试试
TestContext.CurrentContext.CurrentRepeatCount
这适用于 NUnit 3.0
在 NUnit 3 中,如果 returns 失败,您可以通过测试 x 次 Retry
属性将测试修饰为 运行。有没有办法以编程方式检索重试测试的次数?
我想根据当前测试经历了多少次迭代来执行一些代码,例如:
if(CurrentTest.Retries > 1)
{
//do something
}
我已经在 TestContext.CurrentContext
下进行了检查,但似乎无法访问属性值,也无法通过 Retry
属性访问当前测试 运行 的次数。
没有内置方法可以做到这一点。 NUnit 在内部维护计数。
您的解决方法是维护一个跟踪计数的实例成员,将其初始化为零并在每次执行该方法时递增它。如果您想对不止一种方法执行此操作,则每种方法都需要自己的计数器。
在我看来,这是向 NUnit 团队提出的合理功能要求。
你可能想试试
TestContext.CurrentContext.CurrentRepeatCount
这适用于 NUnit 3.0