【问题标题】:How do I ignore JAVA tests in Coverity Connect analysis result?如何忽略 Coverity Connect 分析结果中的 JAVA 测试?
【发布时间】:2018-07-01 00:22:40
【问题描述】:

我使用 Coverity 扫描我的项目是否存在安全问题。

我想知道的是如何从缺陷提交后可用的分析结果中排除任何 java 测试(注意:集成和单元)。

我确实使用 maven 来构建项目,并使用标志 -Dmaven.skip.test=true 排除了单元测试。 尽管这使得 Coverity 不扫描单元测试,但它仍然可以扫描集成测试。

我项目中的所有集成测试在文件标题中都包含“Test”一词。因此,我开始查看 Coverity 中提供的过滤器部分。我当时尝试的是一个正则表达式(.*(!?(Test).*)$),但它不起作用。 Coverity 似乎支持两个匹配的字符(* and ? - 见下图),但它似乎不支持任何否定的环视。

有没有什么好方法可以轻松干净地完成这项任务?

【问题讨论】:

    标签: regex pattern-matching connect code-analysis coverity


    【解决方案1】:

    由于 Coverity 依赖于您的 Maven 构建,您可以排除:

    • 单元测试(通过 Surefire 插件)和 集成测试(通过 Failsafe 插件)通过添加 -Dmaven.skip.test=true 编译和执行
    • 通过-DskipTests 执行单元测试和集成测试
    • 通过-DskipITs 执行集成测试

    相反,如果您在单独的 Maven 模块中进行集成测试,则可以通过配置文件直接将其从 Maven 构建中排除,如下例所示 - 请参阅聚合器的 pom.xml 和要启动的 maven 命令行的摘录:

    <modules>
      <!-- remove 'my-it-module' from this list -->
    </modules>
    <profiles>
        <profile><id>build-it</id>
            <activation><activeByDefault>true</activeByDefault></activation>
            <modules><module>my-it-module</module></modules>
        </profile>
    </profiles>
    

    然后mvn install -P !build-it

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-13
      • 2018-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多