OK我有在VS2013,我不认为有随机单元测试失败
我有一个测试的任何地方解决互联网上的代码覆盖率一代的问题900+的单元测试我的项目正在运行,如果在VS2010
测试套件工作正常(100%合格),如果我在VS2013从菜单中测试运行它们>运行全部通过>套件中的所有测试
但是,如果我想从菜单Test> Analyze Code Coverage> All Tests生成VS2013中的代码覆盖率,那么很多测试(其中500个以上)会失败,在所有
测试运行的详细信息窗口特别的原因包括,因为它无法指出为什么测试失败(下图)的有用信息
注意:
- 测试将通过如果我重新运行特定的测试,或从菜单运行所有测试测试>运行>所有测试
- 这个问题oc小人我的机器和其他一些随机的,而对于团队的其他成员,代码覆盖率一代工作正常(100%检验合格)
- 这个问题永远不会发生在VS2010
编辑
添加代码BoreholeRepositoryTest在行98
这只是一个测试的起点
您的测试中可能存在竞争条件或耦合问题,只在某些情况下才会出现。这是不可能的。这些真正的单元测试(例如它们是完全隔离的)还是集成测试混合在一起? –
嗨丹尼尔,那些只是单元测试,没有集成测试。测试是完全独立的(它们可以在vs2010下以任意顺序运行,并且仍然通过) – HuyNA
您可以发布BoreholeRepositoryTest.cs的代码(特别感兴趣的是第98行)? @DanielMann很可能是正确的,因为有一些竞争条件促成了这一点。 (例如,尽管没有人期望共享资源,但资源可能会共享) – Lilshieste