如何以编程方式获取NUnit Retry迭代?

时间:2017-07-21 17:40:33

标签: nunit nunit-3.0

在NUnit 3中,您可以使用var options = { startDate: moment(new Date(2000, 1, 1)), endDate: moment(new Date(2100, 1, 1)), selectedDate: $('#selected-date').html(), selectedDateFormat: '{{date_format}}', onSelectedDateChanged: function (event, date) { $('#selected-date').html(moment(date).format('{{date_format}}')); disableDatePaginator(); $('#log-table').DataTable().ajax.reload(function(json){ enableDatePaginator(); }); }, }; 属性修饰测试,以便在返回失败时运行测试x次。有没有办法以编程方式检索重试测试的次数?

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

Retry

我已在if(CurrentTest.Retries > 1) { //do something } 下进行了检查,但似乎无法通过TestContext.CurrentContext属性访问属性值,也无法访问当前测试的次数。

2 个答案:

答案 0 :(得分:2)

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

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

在我看来,这对于NUnit团队来说是一个合理的功能要求。

答案 1 :(得分:0)

您可能想尝试

TestContext.CurrentContext.CurrentRepeatCount

这适用于NUnit 3.0

相关问题