运行Visual Studio单元测试与运行ReSharper单元测试,有何区别?

4

最近在运行VisualStudio 2008的Unit Tests时遇到了各种有趣的问题。

例如,运行Visual Studio Unit Tests时,某些测试一起失败,但分别进行测试时却可以通过。这是因为该测试类中的某些类级别变量在单元测试中被重复使用了。

通常情况下,我会手动进入每个类并修复此问题!但是,我们正在谈论数千个测试!

现在出现了一个有趣的困境,使用ReSharper Unit Tests和TFS BuildServer它们可以一起通过!

是否有任何方法可以配置VS Unit Test Solution以相同方式运行?我想避免在[TestCleanup]方法中调用[TestInitialize]方法。

1个回答

4
这通常是不同顺序测试的副产品。ReSharper 4.x及更早版本根据它们在源文件中出现的顺序运行单元测试。几乎所有其他单元测试运行程序按字母顺序运行测试。这种不同的顺序可能会(但永远不应该)影响测试是否通过/失败(基于数据库或静态数据中剩余的数据)。
ReSharper 5.0不再使用自定义运行程序,因此应该修复这些不一致性。
然而,这种类型的不一致性表明测试存在问题。有些测试留下了他们应该清理的数据,有些测试依赖于或受到前一个测试留下的数据的影响。

那很好知道。你有任何如何修复这个问题的建议吗 :) 我已经到了几乎想在[TestCleanup]中调用[TestInitialize]的地步。 - Andrew

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接