使用Maven surefire插件包含测试

 橙子小狸 发布于 2023-02-09 12:27

我正在使用Maven来构建我的项目.我目前将测试拆分为不同的层次结构:

单元测试 - > src/test/java/**/*Test.java

集成测试 - > src/test-integration/java/**/*Test.java

外部测试 - > src/test-external/java/**/*Test.java

这是我的maven-surefire-plugin部分:


    org.apache.maven.plugins
    maven-surefire-plugin
    ${maven-surefire-plugin.version}
    
        
            src/test/java/**/*Test.java
        
    

上面的指令不起作用.我运行时没有执行任何测试:mvn clean test

我试过**/*Test.java并运行所有测试 - 单元,集成和外部.但是,对于默认测试套件,我只想运行单元测试.

我怎样才能在Maven中完成这项工作?

参考:

org.apache.maven.plugins
maven-surefire-plugin
2.14.1

msenni.. 8

您应该将您的单元和集成测试用例分开.单元测试可以使用Surefire插件运行,并且有一个单独的插件,名为Failsafe,用于运行集成测试.

默认情况下,Surefire插件会运行名称结尾的所有测试文件*Test.java.诀窍是用不同的名称命名集成测试文件*IT.java.Failsafe插件会将它们识别为集成测试.

您可以在此答案中找到示例用法 - 如何运行Maven Integration测试

如果您遵循默认设置,例如将测试用例文件放在src/test/java文件夹中并将测试文件命名为,则您也不必单独配置Surefire插件*Test.java.

2 个回答
  • 您应该将您的单元和集成测试用例分开.单元测试可以使用Surefire插件运行,并且有一个单独的插件,名为Failsafe,用于运行集成测试.

    默认情况下,Surefire插件会运行名称结尾的所有测试文件*Test.java.诀窍是用不同的名称命名集成测试文件*IT.java.Failsafe插件会将它们识别为集成测试.

    您可以在此答案中找到示例用法 - 如何运行Maven Integration测试

    如果您遵循默认设置,例如将测试用例文件放在src/test/java文件夹中并将测试文件命名为,则您也不必单独配置Surefire插件*Test.java.

    2023-02-09 12:29 回答
  • 这是因为<include>path相对于<testSourceDirectory>默认值为${project.build.testSourceDirectory}= src/test/java.试试这个

    <include>**/*Test.java</include>
    

    2023-02-09 12:29 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有