在Xunit UnitTests中

时间:2016-01-13 21:25:35

标签: c# unit-testing xunit.net

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

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

如何使这些特定测试同步运行?或任何其他解决方案,以清理工作

谢谢!

1 个答案:

答案 0 :(得分:0)

您的代码不是线程安全的,可以并行运行,因此当您对它们进行并行单元测试时,它将无法工作(这是预期的)。

有两种可能的解决方案:

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