我有一个VS UnitTest(MSTest)来覆盖一些多线程代码。如果没有所需的锁,代码就会在测试中失败15次 - 即运行的一半。我修复了代码并且测试通过了30次。
现在我希望测试框架运行测试N次,而不仅仅是一次,以确保它不能通过运行一次。在测试中使用属性似乎没有任何方法可以做到这一点所以我在测试中放置一个循环来运行测试代码体N次。
我删除代码的修复程序(锁等)并运行测试(循环N次) - 然后bam通过。我再次运行它(循环N次)并且它失败了......我回到了我开始的地方 - 它仍然只有一半的时间失败(即使它在每次测试中通过测试体进行N循环)。
我真正想要的不是在测试中循环,而是让测试框架加载测试,运行测试,卸载测试等N次(正如我原先手工完成的那样)。该怎么做?(为什么这里只有一个测试属性 - 比如[TestRepeatCount=5]
?)