繁体   English   中英

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

[英]Code coverage issues after migrating from VS2010 to VS2013

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

经过研究,我发现了一条MSDN帖子和其他一些博客帖子,这些帖子建议.testsettings文件并采用新的.runsettings文件。 奇怪的是,Microsoft建议使用.runsettings文件,但似乎没有提供我可以建立的默认文件。 无论如何,我确实根据同一MSDN帖子上提供的示例创建了一个。 就覆盖文件的创建而言,它确实对我有用,但是我再次遇到了在“测试结果”文件夹中生成该文件的问题。 更大的问题是,创建了一个具有一些GUID类型名称的子文件夹,并将覆盖文件转储到该子文件夹中,并且每次在代码覆盖率ON的情况下运行测试时,它都会更改。

我想知道是否有一种方法可以使我的VS2010设置在VS2013中达到预期效果,或者使用.runsettings文件,是否可以提供应该创建coverage文件的完整路径?

转到“测试”->“测试设置”->“选择测试设置文件”,然后选择与您的测试项目关联的.testsettings文件。 这是一个hack,但始终有效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM