Maven-编写测试代码

2024-04-12 12:38
文章标签 maven 编写 测试代码

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

本文接续上一篇文章《Maven-使用Maven命令编译java代码》

Maven项目中默认的主代码目录是src/main/java,对应的,Maven项目中默认的测试代码目录是src/test/java。因此,在编写测试用例之前,应先创建该目录。

在Java中,由Kent Beck 和Erich Gamma建立的JUnit是事实上的单元测试标准。要使用JUnit,首先需要为项目添加JUnit依赖。

有了这段配置,Maven就能够自动从中央仓库下载junit-4.7.jar

配置中海油一个值为test的元素scope,scope为依赖范围,若依赖范围为test,则表示该依赖只对测试有效。换句话说,测试代码中(即src/main/test中),import JUnit代码是没有问题的,但是如果在主代码(src/main/java)中用import JUnit代码,就会造成编译错误。如果不声明依赖范围,那么默认值就是compile,表示该依赖对主代码和测试代码都有效。

接着就可以编写测试类。在上一篇中写了HelloWorld类,现在要测试该类的sayHello()方法,检查其返回值是否为"Hello Maven"。在src/test/java目录下创建子目录以及测试文件

一个典型的单元测试包含三个步骤:

1.准备测试类及数据

2.执行要测试的行为

3.检查结果

上面的代码首先创建了一个要测试的HelloWorld实例,接着执行该实例的sayHello()方法并保存结果到result变量,最后使用JUnit框架的Assert类检查结果是否为"Hello Maven"。在JUnit4中约定所有需要执行测试的方法都应该以@Test进行标注。

运行mvn clean test执行测试:

从输出中可以看到,Maven执行了clean、resource、compile、testResouirces、testCompile、test任务。需要了解的是Maven在执行测试test之前,它会自动执行项目主资源处理、主代码编译、测试资源处理,测试代码编译等工作,这时Maven声明周期的一个特性。

在这一步可能会遇到一个问题,由于历史的原因,Maven的核心插件之一,compiler插件默认只支持编译Java 1.3,所有如果Java版本较高,在执行测试命令时可能会提示需要使用更高版本以启动注释。这个时候需要配置该插件使其支持Java的更高版本

再次执行上面的mvn clean test命令就可以成功了

测试代码通过编译之后在target/test-classes下生成了二进制文件,紧接着surefile:test任务运行测试,surefile是Maven中负责执行测试的插件,输出测试报告,显示一共运行了多少测试,失败了多少,出错了多少,跳过了多少。

 

这篇关于Maven-编写测试代码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

IDEA Maven提示:未解析的依赖项的问题及解决

《IDEAMaven提示:未解析的依赖项的问题及解决》:本文主要介绍IDEAMaven提示:未解析的依赖项的问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝... 目录IDEA Maven提示:未解析的依编程赖项例如总结IDEA Maven提示:未解析的依赖项例如

如何使用Maven创建web目录结构

《如何使用Maven创建web目录结构》:本文主要介绍如何使用Maven创建web目录结构的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录创建web工程第一步第二步第三步第四步第五步第六步第七步总结创建web工程第一步js通过Maven骨架创pytho

Maven中的profiles使用及说明

《Maven中的profiles使用及说明》:本文主要介绍Maven中的profiles使用及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录主要用途定义 Profiles示例:多环境配置激活 Profiles示例:资源过滤示例:依赖管理总结Maven 中的

Maven 配置中的 <mirror>绕过 HTTP 阻断机制的方法

《Maven配置中的<mirror>绕过HTTP阻断机制的方法》:本文主要介绍Maven配置中的<mirror>绕过HTTP阻断机制的方法,本文给大家分享问题原因及解决方案,感兴趣的朋友一... 目录一、问题场景:升级 Maven 后构建失败二、解决方案:通过 <mirror> 配置覆盖默认行为1. 配置示

maven私服配置全过程

《maven私服配置全过程》:本文主要介绍maven私服配置全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录使用Nexus作为 公司maven私服maven 私服setttings配置maven项目 pom配置测试效果总结使用Nexus作为 公司maven私

python编写朋克风格的天气查询程序

《python编写朋克风格的天气查询程序》这篇文章主要为大家详细介绍了一个基于Python的桌面应用程序,使用了tkinter库来创建图形用户界面并通过requests库调用Open-MeteoAPI... 目录工具介绍工具使用说明python脚本内容如何运行脚本工具介绍这个天气查询工具是一个基于 Pyt

MyBatis编写嵌套子查询的动态SQL实践详解

《MyBatis编写嵌套子查询的动态SQL实践详解》在Java生态中,MyBatis作为一款优秀的ORM框架,广泛应用于数据库操作,本文将深入探讨如何在MyBatis中编写嵌套子查询的动态SQL,并结... 目录一、Myhttp://www.chinasem.cnBATis动态SQL的核心优势1. 灵活性与可

IDEA中Maven Dependencies出现红色波浪线的原因及解决方法

《IDEA中MavenDependencies出现红色波浪线的原因及解决方法》在使用IntelliJIDEA开发Java项目时,尤其是基于Maven的项目,您可能会遇到MavenDependenci... 目录一、问题概述二、解决步骤2.1 检查 Maven 配置2.2 更新 Maven 项目2.3 清理本

maven中的maven-antrun-plugin插件示例详解

《maven中的maven-antrun-plugin插件示例详解》maven-antrun-plugin是Maven生态中一个强大的工具,尤其适合需要复用Ant脚本或实现复杂构建逻辑的场景... 目录1. 核心功能2. 典型使用场景3. 配置示例4. 关键配置项5. 优缺点分析6. 最佳实践7. 常见问题

windows系统上如何进行maven安装和配置方式

《windows系统上如何进行maven安装和配置方式》:本文主要介绍windows系统上如何进行maven安装和配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录1. Maven 简介2. maven的下载与安装2.1 下载 Maven2.2 Maven安装2.