.net - Sonar & Gallio : Gallio won't execute as there are no test projects

标签 .net unit-testing mstest sonarqube gallio

我已经安装了 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/

    相关文章:

    java - 兼容 .Net 的 RSA key (XML 格式)

    .net - 如何制作基于 "push"的可互操作的 Web 服务?

    c# - 如何为返回列表的方法创建适当的单元测试?

    java - 单元测试 : comparing file generation assertion returns false

    javascript - Firebase 单元测试错误 - 无法解析 Firebase 网址

    c# - 私有(private) TestInitialize 方法未初始化对象

    .net - 我可以修改 mstest 控制台输出吗?

    c# - 如何确定 Console.Out 是否已重定向到文件?

    c# - 为什么 GetSqlDecimal 抛出而 GetDecimal 不抛出?

    带有数据驱动测试的 Mstest 名称代替 Data Row