我使用Coverity来扫描我的项目是否存在安全问题。
我想知道的是如何排除任何java测试(注:* 集成和单元 *)。
我确实使用了maven来构建项目,并且排除了使用-Dmaven.skip.test=true
标志的单元测试。虽然这使得Coverity不能扫描单元测试,但它仍然可以扫描集成测试。
我的项目中的所有集成测试都在文件标题中包含“Test”一词。因此,我开始查看Coverity中提供的过滤器部分。我当时尝试的是正则表达式(.*(!?(Test).*)$
),但它不起作用。看起来coverity支持两个匹配字符(* and ?
-见下图),但似乎不支持任何负查找。
x1c 0d1x的数据
有没有什么好的方法可以轻松、干净地完成这项任务?
1条答案
按热度按时间ca1c2owp1#
由于Coverity依赖于您的Maven构建,因此您可以排除:
-Dmaven.skip.test=true
编译并执行单元测试(通过Surefire插件)和集成测试(通过Failsafe插件)-DskipTests
执行单元测试和集成测试-DskipITs
执行集成测试相反,如果您在一个单独的Maven模块中有集成测试,您可以通过profile直接将其从Maven构建中排除,如下面的示例-请参阅aggregator的pom.xml和要启动的maven命令行的摘录:
字符串
然后是
mvn install -P !build-it