如何让xunit测试运行器针对特定类一次运行一个测试?
顺序并不重要(所有测试都会改变当前的文化)
答案 0 :(得分:0)
我认为唯一简单的解决方案是使用tearDown
方法重置文化。
当前文化是一个全局变量,全局变量始终是单元测试的问题。因此,您需要重新启动VM以将其重置为每个测试的默认值。虽然它没有必要,因为它是线程本地的,如果你可以强制测试框架跨越每个单元测试的新线程,它也可以工作。但这都是黑魔法,它使单位测试更重。
作为替代方案,您可以重构代码以注入当前的文化持有者。在这种情况下,您可以在单元测试中模拟文化持有者,并传递一个简单的实现来保存全局变量中的文化。