当前位置: 首页 > 知识库问答 >
问题:

使用“sonar.*”属性和maven sonar插件进行单元测试代码分析

左丘阳晖
2023-03-14

我试图使用maven sonar插件对Java单元测试进行代码分析。但是这个插件似乎没有考虑到我的声纳属性“sonar.*”。我尝试过修改一些简单的例子,但也确实奏效了。根据MSONAR-70,问题已经解决,我使用的是2.4版。

对于测试,我在一个简单的案例中进行了尝试:

>

  • 克隆声纳的例子。吉特
  • 使用project sonar examples/projects/languages/java/maven/java maven simple作为示例
  • 将src/main重命名为src/test
  • 在pom中。xml,添加到属性部分:

    <sonar.sources>src/test/java</sonar.sources>
    <sonar.binaries>target/test-classes</sonar.binaries>
    

    运行mvn声纳:声纳。

    --

    如果我使用声纳转轮命令行,它正在分析代码:

    sonar-runner [...] -Dsonar.sources=src/test/java 
    -Dsonar.binaries=target/test-classes
     -Dsonar.language=java
     -Dsonar.sourceEncoding=UTF-8
     -Dsonar.projectKey=org.codehaus.sonar:example-java-maven
     -Dsonar.projectName="Simple Java Maven Project"
     -Dsonar.projectVersion=1.0-SNAPSHOT
    
  • 共有1个答案

    傅长恨
    2023-03-14

    根据之前对问题的修订,OP解决了他们的问题,如下所示:

    我们使用的是SonarQube 4.0版本。将版本更新到4.4,使属性得到考虑。

    那是在2014年;目前的版本是5.5。

    升级步骤可在此处找到:

    • 停止旧的SonarQube服务器
    • 在一个新的目录中下载并解压缩新的SonarQube发行版,比方说NEW_SONARQUBE_HOME。
    • 使用默认的H2数据库启动它,并使用更新中心安装您需要的插件。
    • 手动安装任何自定义插件。
    • 停止新服务器。
    • 用OLD_SONARQUBE_HOME/conf目录中相关文件的内容(Web服务器URL、数据库设置等)更新位于NEW_SONARQUBE_HOME/conf目录中的sonar.properties和wrapper.conf文件的内容。不要复制粘贴旧文件。
    • 如果使用自定义JDBC驱动程序,请将其复制到NEW_SONARQUBE_HOME/扩展/jdbc-驱动程序/中。
    • 备份您的数据库。
    • 删除data/es目录。
    • 启动新的web服务器
    • 浏览到http://localhost:9000/setup(用您自己的URL替换localhost:9000)并按照设置说明操作。
     类似资料:
    • 对于测试,我在一个简单的案例中进行了尝试: > 克隆声纳-examples.git 使用sonar-examples/projects/language/java/maven/java-maven-simple项目作为示例 将src/main重命名为src/test 在pom.xml中,向properties部分添加: 运行mvn声纳:声纳。

    • 我正在尝试使用yii2 codeception。我有一个名为Client的类,它扩展了ActiveRecord。 规则()函数: 我在tests\codeception\unit\models文件夹中创建了一个名为ClientTest的文件,该文件包含以下内容: 当我使用“codecept run unit--debug”命令运行测试时,我看到

    • 问题内容: 我对Node相对较新,并且正在使用knex和书架进行项目。我在对代码进行单元测试时遇到了一些麻烦,但是我不确定自己做错了什么。 基本上,我有一个看起来像这样的模型(称为VorcuProduct): 还有一个函数,如果数据库中不存在VorcuProduct,它将保存它。非常简单。执行此操作的函数如下所示: 哪种方法可以在不影响数据库的情况下进行测试?我是否需要模拟以返回模型或未定义模型(

    • 我想使用WebFlux创建一个Unit Test此代码,但我不知道如何做到这一点,我需要在单元测试中涵盖下面的100%调用方法。 非常感谢谁能帮我

    • 我有一个带有源代码和测试层次结构的Spring Boot应用程序。在这两个层次结构中,我都有带有属性的application.yml文件。 假设我在src application.yml中有以下内容: 在application.yml的测试中,我得到了以下内容: 我希望我的所有测试都知道test application.yml中重写的值,如果test application.yml中没有值,则将从

    • 问题内容: 我选择的数据库是MongoDB。我正在编写一个数据层API,以从客户端应用程序中抽象实现细节- 也就是说,我实质上是在提供一个公共接口(一个充当IDL的对象)。 我正在以TDD方式测试自己的逻辑。在每个单元测试之前,调用一个方法来创建数据库单例,此后,当测试完成时,将调用一个方法来删除数据库。这有助于促进单元测试之间的独立性。 几乎所有单元测试(即 执行上下文查询 )都需要先进行某种插