我已经安装了 Sonar 并将其配置为分析我们的 (.NET) 项目(使用 Sonar-Runner)。除了测试(MsTest)之外,一切都很好。我用谷歌搜索,花了很多时间尝试,但没有成功。每次运行 sonar-runner 时,我都会在输出中看到相同的行:
Gallio won't execute as there are no test projects
我什至创建了一个包含 2 个项目的新解决方案:
TestProject
=> 'main' 项目,只有 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 的路径是正确的。
最佳答案
根据 Sonar C-sharp 插件的源代码(感谢 grepcode.com),如果项目的程序集名称与 testProjectPattern(默认为“*.Tests”)匹配,则该项目有资格作为测试项目。也可以在 sonar-project.properties 中设置,像这样:
sonar.donet.visualstudio.testProjectPattern=*.UnitTests
注意拼写错误 (donet)...(!)
关于.net - Sonar & Gallio : Gallio won't execute as there are no test projects,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8094731/