Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
如何让 xunit 测试运行程序为特定类一次运行一个测试?
顺序并不重要(所有测试都会改变当前的文化)
我认为唯一简单的解决方案是使用tearDown方法来重置文化。
tearDown
当前的文化是一个全局变量,全局变量始终是单元测试的一个问题。因此,您需要重新启动 VM 以将其重置为每次测试的默认值。虽然没有必要,因为它是线程本地的,如果您可以强制测试框架为每个单元测试跨越一个新线程,它也可以工作。但这都是黑魔法,它使单元测试变得更重。
作为替代方案,您可以重构代码以注入当前的文化持有者。在这种情况下,您可以在单元测试中模拟文化持有者,并通过一个简单的实现将文化保存在全局变量中。