【发布时间】:2014-10-04 03:02:03
【问题描述】:
最近我将所有 C# 项目从 VS2010 迁移到 VS2013。几乎不需要任何代码更改,但在我签入项目后,我立即注意到 CI 开始失败。在检查问题时,我意识到运行单元测试后生成的覆盖率文件不是在.testsettings 文件中指定的位置生成的。在 VS2010 的测试设置的测试结果名称部分,我配置了用户定义的命名方案并取消选中附加日期时间戳复选框。这将在 \\data.coverage 中生成覆盖率文件。在迁移到VS2013之后,在选择默认命名方案时,在测试设置文件夹中生成覆盖文件在选择默认命名方案时。
经过一番研究,我发现了 MSDN post 和其他一些博客文章,建议取消 .testsettings 文件并采用新的 .runsettings 文件。奇怪的是微软建议使用 .runsettings 文件,但似乎没有提供我可以构建的默认文件。无论如何,我确实根据同一个 MSDN 帖子上提供的示例创建了一个。就覆盖文件的创建而言,它确实对我有用,但我再次面临同样的问题,即它在测试结果文件夹中生成。更大的问题是创建了一个带有一些 GUID 类型名称的子文件夹,覆盖文件被转储到其中,并且每次在代码覆盖打开的情况下运行测试时它都会更改。
我想知道是否有办法让我的 VS2010 设置在 VS2013 中按预期工作或使用 .runsettings 文件,我可以提供应该创建覆盖文件的完整路径吗?
【问题讨论】:
标签: visual-studio-2010 visual-studio unit-testing visual-studio-2013 code-coverage