在 Xunit UnitTests 的测试方法中清理静态资源

Clean up static resource in a test method in Xunit UnitTests

我在 C# 环境中使用 Xunit 进行单元测试。 我有一些静态资源,例如静态缓存,我测试的一些方法依赖于该静态缓存。 在我的单元测试中,我根据需要修改此静态缓存,并检查我的方法的行为是否已相应更改。在测试结束时,我清理了我的静态缓存,这样其他单元测试就不会受到影响。

当我 运行 我的所有单元测试并行时,问题就开始了。 同时依赖于静态缓存 运行 的多个单元测试,使测试不稳定的原因(一次 运行 成功,另一次失败)。

我该怎么做才能同步对 运行 进行这些特定测试?或任何其他清理工作的解决方案

谢谢!

您的代码不 thread-safe,容忍 运行 并行,因此当您对它们进行并行单元测试时,它不会工作(这是预期的)。

有两种可能的解决方案:

  • 不要使用静态资源
  • 不要运行并行测试