0

如何让 xunit 测试运行程序为特定类一次运行一个测试?

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

4

1 回答 1

0

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

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

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

于 2013-03-08T16:08:46.407 回答