How to resolve "skip non existing resourceDirectory" when using "mvn test"

When running "mvn test" in command line, there is a warning message "skip non existing resourceDirectory" and cannot run test cases.

Refer to http://rongjih.blog.163.com/blog/static/335744612010102911363452/

郁闷之际查了一下 maven参考资料,发现原来是 surefire插件的默认行为所致。

maven是使用surefire插件执行测试的,它按照指定格式的类名来查找匹配的测试类,

默认包含的测试类:
  • **/*Test.java
  • **/Test*.java
  • **/*TestCase.java
默认排除的测试类:
  • **/Abstract*Test.java
  • **/Abstract*TestCase.java
 
因此默认情况下“**/*Tests.java”是不会被mvn test发现并执行的,可按如下修改surefire插件的配置以达到包含"**/*Tests.java"测试类的目的:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<includes>
<include>**/*Tests.java</include>
</includes>
<excludes>
<exclude>**/Abstract*.java</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
运行指定 测试类:
    >mvn test -Dtest=[ClassName]
    [ClassName]为要运行的测试类的类名(不要带扩展名),多个测试类间用逗号连接即可,类名支持*通配符,范例:
   1) >mvn test -Dtest=MyClassTest
   2) >mvn test -Dtest=MyClass1Test,MyClass2Test
   3) >mvn test -Dtest=MyClass*Test,YourClassTest
   4) >mvn test -Dtest=MyClassTest
 
运行测试类中指定的方法:(这个需要maven-surefire-plugin:2.7.3以上版本才能支持)
    >mvn test -Dtest=[ClassName]#[MethodName]
    [MethodName]为要运行的方法名,支持*通配符,范例:
   1) >mvn test -Dtest=MyClassTest#test1
   2) >mvn test -Dtest=MyClassTest#*test*

转载于:https://www.cnblogs.com/limei/archive/2012/12/28/2837199.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值