从VS2010迁移到VS2013后的代码覆盖问题

时间:2014-08-11 10:03:12

标签: visual-studio-2010 visual-studio unit-testing visual-studio-2013 code-coverage

最近我将所有C#项目从VS2010迁移到了VS2013。几乎没有任何代码更改,但在我签入项目后,我立即注意到CI开始失败。在检查问题时,我意识到运行单元测试后生成的覆盖文件未在.testsettings文件中指定的位置生成。在VS2010的“测试设置”的“测试结果名称”部分中,我配置了用户定义的命名方案,并取消选中了“附加日期 - 时间戳”复选框。这将在\\ data.coverage中生成coverage文件。迁移到VS2013后,覆盖文件将在Test Settings文件夹中生成,该文件夹在选择默认命名方案时相信是默认位置。

在研究了一下之后,我发现了MSDN post和其他一些博客帖子建议取消.testsettings文件并采用新的.runsettings文件。奇怪的是微软推荐使用.runsettings文件,但似乎没有提供我可以构建的默认文件。无论如何,我确实根据同一MSDN帖子上提供的样本创建了一个。就覆盖文件的创建而言,它确实对我有用,但我再次遇到了它在Test Results文件夹中生成的相同问题。更大的问题是创建了一个具有GUID类型名称的子文件夹,其中转储了覆盖文件,并且每次运行代码覆盖率为ON的测试时它都会更改。

我想知道是否有办法让我的VS2010设置在VS2013中正常工作或使用.runsettings文件,我可以提供应该创建覆盖文件的完整路径吗?

1 个答案:

答案 0 :(得分:1)

转到测试 - >测试设置 - >选择测试设置文件,然后选择与测试项目关联的.testsettings文件。它是一个黑客但总是有效。