【转】Maven进行测试Test

2024-09-02 07:18
文章标签 进行 maven test 测试

本文主要是介绍【转】Maven进行测试Test,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Maven进行测试Test

Maven测试

maven测试为 default 生命周期中的test阶段。 

test阶段与 maven-surefire-plugin 的test目标相绑定了, 这是一个内置的绑定。 

Maven通过插件来执行 JUnit 和 TestNG 的测试用例。

maven-surefire-plugin 的test目标会自动执行测试源码路径下符合命名模式的测试类。 

默认测试源代码路径: src/test/java/ 

测试类命名模式: 

**/Test*.java 

**/*Test.java 

**/*TestCase.java 

按上述模式命名的类, 使用 mvn test 命令就能自动运行他们。

跳过测试

下面命名跳过测试: 

mvn install -DskipTests 

也可以在POM文件中配置 maven-surefire-plugin

            <plugin>

                <groupId>org.apache.maven.plugins</groupId>

                <artifactId>maven-surefire-plugin</artifactId>

                <version>2.19.1</version>

                <configuration>

                    <skipTests>true</skipTests>

                    <!-- 

                      skip 对应命令行参数为 maven.test.skip 

                     -->

                    <skip>false</skip>

                </configuration>

            </plugin>

1

2

3

4

5

6

7

8

9

10

11

12

不推荐这种做法,会让项目长期跳过测试。

如果想不仅跳过测试运行,还跳过测试代码的编译,使用下面命令: 

mvn package -Dmaven.test.skip=true 

maven.test.skip 控制了 maven-compiler-plugin 和 maven-surefire-plugin 两个插件的行为。

Maven动态指定测试用例

maven-surefire-plugin 使用 test 参数指定测试用例, 为测试用例的类名 

mvn test -Dtest=RandomTest 

只执行 RandomTest 这个测试类. 

mvn test -Dtest=RandomTest#myTest 

上面命令,只运行 RandomTest 类的 myTest 方法

可以指定多个类,逗号分隔 

mvn test -Dtest=RandomTest,Random2Test 

也可以用 * 匹配多个 

mvn test -Dtest=Random*Test 

*和 逗号可以结合使用。

如果不指定或者找不到测试类则构建失败 

mvn test -Dtest 

failIfNoTests 参数控制没有测试用例不报错 

mvn test -Dtest -DfailIfNoTests=false

包含测试用例

将不符合命名模式测试类自动运行测试。 

修改POM文件

            <plugin>

                <groupId>org.apache.maven.plugins</groupId>

                <artifactId>maven-surefire-plugin</artifactId>

                <version>2.19.1</version>

                <configuration>

                    <includes>

                        <include>**/*Tests.java</include>

                    </includes>

                </configuration>

            </plugin>

1

2

3

4

5

6

7

8

9

10

两个星号 ** 表示匹配任意路径。 

上面表示匹配已 Tests.java 结尾的Java类。

排除测试用例

排除测试用例不实用test自动运行 

使用 excludes 节点

            <plugin>

                <groupId>org.apache.maven.plugins</groupId>

                <artifactId>maven-surefire-plugin</artifactId>

                <version>2.19.1</version>

                <configuration>

                    <excludes>

                        <exclude>**/*ServiceTest.java</exclude>

                    </excludes>

                </configuration>

            </plugin>

1

2

3

4

5

6

7

8

9

10

生成测试报告

测试报告默认生成 target/surefire-reports 目录下,生成 txt, 和 xml 格式的。

测试代码重用

mvn package 会打包项目主代码和资源文件代码,没有包含测试代码。 

如果想一起打包测试用例,供依赖方使用, 使用 maven-jar-plugin 插件

            <plugin>

                <groupId>org.apache.maven.plugins</groupId>

                <artifactId>maven-jar-plugin</artifactId>

                <version>2.4</version>

                <executions>

                    <execution>

                        <goals>

                            <goal>test-jar</goal>

                        </goals>

                    </execution>

                </executions>

            </plugin>

1

2

3

4

5

6

7

8

9

10

11

12

maven-jar-plugin 有两个目标 jar ,test-jar, 

jar 内置绑定在 default 生命周期的 package 阶段。 

test-jar没有内置绑定。

依赖方引入时 dependency

        <dependency>

            <groupId>org.A</groupId>

            <artifactId>A</artifactId>

            <version>5.0.0</version>

            <type>test-jar</type>

            <scope>test</scope>

        </dependency>

1

2

3

4

5

6

7

需要设置 type 和 scope。

地址:Maven进行测试Test_yonggang7的专栏-CSDN博客_mvn test

这篇关于【转】Maven进行测试Test的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1129351

相关文章

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

每天认识几个maven依赖(ActiveMQ+activemq-jaxb+activesoap+activespace+adarwin)

八、ActiveMQ 1、是什么? ActiveMQ 是一个开源的消息中间件(Message Broker),由 Apache 软件基金会开发和维护。它实现了 Java 消息服务(Java Message Service, JMS)规范,并支持多种消息传递协议,包括 AMQP、MQTT 和 OpenWire 等。 2、有什么用? 可靠性:ActiveMQ 提供了消息持久性和事务支持,确保消

字节面试 | 如何测试RocketMQ、RocketMQ?

字节面试:RocketMQ是怎么测试的呢? 答: 首先保证消息的消费正确、设计逆向用例,在验证消息内容为空等情况时的消费正确性; 推送大批量MQ,通过Admin控制台查看MQ消费的情况,是否出现消费假死、TPS是否正常等等问题。(上述都是临场发挥,但是RocketMQ真正的测试点,还真的需要探讨) 01 先了解RocketMQ 作为测试也是要简单了解RocketMQ。简单来说,就是一个分

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

30常用 Maven 命令

Maven 是一个强大的项目管理和构建工具,它广泛用于 Java 项目的依赖管理、构建流程和插件集成。Maven 的命令行工具提供了大量的命令来帮助开发人员管理项目的生命周期、依赖和插件。以下是 常用 Maven 命令的使用场景及其详细解释。 1. mvn clean 使用场景:清理项目的生成目录,通常用于删除项目中自动生成的文件(如 target/ 目录)。共性规律:清理操作

【测试】输入正确用户名和密码,点击登录没有响应的可能性原因

目录 一、前端问题 1. 界面交互问题 2. 输入数据校验问题 二、网络问题 1. 网络连接中断 2. 代理设置问题 三、后端问题 1. 服务器故障 2. 数据库问题 3. 权限问题: 四、其他问题 1. 缓存问题 2. 第三方服务问题 3. 配置问题 一、前端问题 1. 界面交互问题 登录按钮的点击事件未正确绑定,导致点击后无法触发登录操作。 页面可能存在

在cscode中通过maven创建java项目

在cscode中创建java项目 可以通过博客完成maven的导入 建立maven项目 使用快捷键 Ctrl + Shift + P 建立一个 Maven 项目 1 Ctrl + Shift + P 打开输入框2 输入 "> java create"3 选择 maven4 选择 No Archetype5 输入 域名6 输入项目名称7 建立一个文件目录存放项目,文件名一般为项目名8 确定

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

maven 编译构建可以执行的jar包

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」👈,「stormsha的知识库」👈持续学习,不断总结,共同进步,为了踏实,做好当下事儿~ 专栏导航 Python系列: Python面试题合集,剑指大厂Git系列: Git操作技巧GO

Maven创建项目中的groupId, artifactId, 和 version的意思

文章目录 groupIdartifactIdversionname groupId 定义:groupId 是 Maven 项目坐标的第一个部分,它通常表示项目的组织或公司的域名反转写法。例如,如果你为公司 example.com 开发软件,groupId 可能是 com.example。作用:groupId 被用来组织和分组相关的 Maven artifacts,这样可以避免