一次运行一个测试(顺序并不重要)

时间:2013-03-06 20:27:24

标签: unit-testing xunit

如何让xunit测试运行器针对特定类一次运行一个测试?

顺序并不重要(所有测试都会改变当前的文化)

1 个答案:

答案 0 :(得分:0)

我认为唯一简单的解决方案是使用tearDown方法重置文化。

当前文化是一个全局变量,全局变量始终是单元测试的问题。因此,您需要重新启动VM以将其重置为每个测试的默认值。虽然它没有必要,因为它是线程本地的,如果你可以强制测试框架跨越每个单元测试的新线程,它也可以工作。但这都是黑魔法,它使单位测试更重。

作为替代方案,您可以重构代码以注入当前的文化持有者。在这种情况下,您可以在单元测试中模拟文化持有者,并传递一个简单的实现来保存全局变量中的文化。