因此,在运行单元测试时,我遇到了VisualStudio 2008中的各种有趣问题。
例如,在运行Visual Studio单元测试时,某些测试会一起失败,但会单独传递。发生这种情况是因为该测试类中的某些类级变量正在单元测试中重用。
现在通常我会进入每个班级并手动修复此问题!但是,我们正在谈论的测试数量达到数千个!
现在有了一个有趣的困境,使用ReSharper单元测试和TFS BuildServer一起传递它们!
有没有办法让VS单元测试解决方案以同样的方式运行?我想避免在[TestCleanup]方法中调用[TestInitialize]方法。
答案 0 :(得分:4)
这通常是不同排序测试的副产品。 ReSharper 4.x及更早版本根据它们在源文件中出现的顺序运行单元测试。几乎所有其他单元测试运行器都按字母顺序运行测试。这种不同的排序可以(但绝不应该)影响测试是否通过(基于数据库中的剩余数据或静态)。
ReSharper 5.0不再使用自定义运行器,因此它应该解决这些不一致问题。
但是,这种不一致表明测试中存在问题。有些人留下数据,他们应该清理,有些人依赖或损害前一次测试留下的数据。