Sonar&Gallio:由于没有测试项目,Gallio将无法执行

7

我已经安装了Sonar并配置它来分析我们的(.NET)项目(使用Sonar-Runner)。一切都工作得很好,除了测试(MsTest)。我已经在谷歌上搜索了很多时间尝试解决问题,但是没有成功。每次运行sonar-runner时,输出中都会显示同一行:

Gallio won't execute as there are no test projects

我甚至创建了一个包含2个项目的新解决方案:
  • TestProject => “主”项目,只有1个类
  • TestProject.UnitTests => 包含对TestProject中类的一些简单单元测试
在我的sonar.properties文件中,我有以下行:
sonar.dotnet.visualstudio.testProjectPattern=*.UnitTests

运行分析时,除了再次出现“未找到测试项目”之外,一切都正常并获得了结果。我尝试过很多这个属性的方法,但都没有成功。我还尝试了使用dll的直接路径,并使用属性:sonar.dotnet.test.assemblies=D:\\Projects\\TestProject\\TestProject.UnitTests\\bin\\Debug\\TestProject.UnitTests.dll以及其他路径(相对路径等),但仍然不能找到测试项目。有没有人有相关经验可以帮助我解决这个问题呢?顺便说一下,当我单独运行Gallio时,它能够正常工作,执行测试等。此外,Sonar属性中Gallio的路径是正确的。
1个回答

11
根据Sonar C-sharp插件的源代码(感谢grepcode.com)显示,如果项目的程序集名称与testProjectPattern匹配,则该项目将被视为测试项目,默认情况下testProjectPattern是“*.Tests”。也可以在sonar-project.properties中设置它,如下所示:
sonar.donet.visualstudio.testProjectPattern=*.UnitTests

注意拼写错误(donet)...(!)


1
谢谢! 实际上,我做错的是纠正了拼写错误!我读到应该设置那个属性,但是“假设”它是一个打字错误。我没有考虑到插件本身可能有拼写错误! - Shatish
FYI,由于插件代码已经更正,“sonar.dotnet.visualstudio.testProjectPattern”属性可以安全使用。 - Alexandre Victoor

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接