Maven Surefire插件测试匹配模式与指定MyLogsVer1测试的配置修改
Maven Surefire插件属性的模式匹配与配置调整
一、模式匹配技术
Maven Surefire插件的<test>属性采用Ant风格路径匹配模式,核心匹配规则如下:
*:匹配任意数量的非路径分隔符(/)字符**:匹配任意数量的字符(包含路径分隔符),用于跨多级目录匹配?:匹配单个任意字符
二、调整属性的配置方案
要仅运行/foo/bar/logs目录下文件名以MyLogsVer1开头的测试类,需修正匹配模式以精准定位目标文件:
正确配置示例
<profile> <id>mylogs</id> <properties> <test>**/foo/bar/logs/MyLogsVer1*.java</test> <skipTests>false</skipTests> </properties> </profile>
配置说明
- 模式
**/foo/bar/logs/MyLogsVer1*.java会匹配任意层级目录下,foo/bar/logs目录中所有文件名以MyLogsVer1开头的Java测试源文件 - 若希望基于编译后的类文件匹配,可将后缀改为
.class,即**/foo/bar/logs/MyLogsVer1*.class - 不要在模式末尾添加
**,否则会匹配logs目录下所有子目录的文件,不符合仅匹配当前目录的需求
之前配置未生效的原因
你尝试的**/foo/bar/logs/MyLogsVer1*缺少文件后缀(.java或.class),Surefire插件需要明确匹配测试文件的类型,因此无法正确识别目标测试类。
内容的提问来源于stack exchange,提问作者markb
相关产品推荐
相关产品推荐

