【问题标题】:Code coverage issues after migrating from VS2010 to VS2013从 VS2010 迁移到 VS2013 后的代码覆盖率问题
【发布时间】: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


    【解决方案1】:

    转到测试->测试设置->选择测试设置文件并选择与您的测试项目关联的 .testsettings 文件。这是一个 hack,但总是有效。

    【讨论】:

    • 我很久以前就意识到了。无论如何,接受答案以防万一有类似问题的其他人偶然发现这篇文章。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-24
    • 1970-01-01
    • 2012-10-03
    • 2011-07-03
    • 1970-01-01
    • 2018-05-08
    • 2019-09-14
    相关资源
    最近更新 更多