zoukankan      html  css  js  c++  java
  • How to resolve "skip non existing resourceDirectory" when using "mvn test" Anny

    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*
  • 相关阅读:
    ODOO开发-Pycharm开启debug模式
    pycharm开启debug模式报错汇总
    星辉Odoo模型开发教程4-常用字段属性
    星辉Odoo模型开发教程3-创建字段
    Business Object 开发
    Ubuntu安装masscan的两种方式
    HFish 蜜罐搭建测试
    【转】如何超过大多数人
    【译】13款入侵检测系统介绍
    【译】修复Ubuntu软件安装的锁文件问题
  • 原文地址:https://www.cnblogs.com/limei/p/2837199.html
Copyright © 2011-2022 走看看