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

相关文章

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

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

30常用 Maven 命令

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

在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 确定

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

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

如何编写Linux PCIe设备驱动器 之二

如何编写Linux PCIe设备驱动器 之二 功能(capability)集功能(capability)APIs通过pci_bus_read_config完成功能存取功能APIs参数pos常量值PCI功能结构 PCI功能IDMSI功能电源功率管理功能 功能(capability)集 功能(capability)APIs int pcie_capability_read_wo

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

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

Maven(插件配置和生命周期的绑定)

1.这篇文章很好,介绍的maven插件的。 2.maven的source插件为例,可以把源代码打成包。 Goals Overview就可以查看该插件下面所有的目标。 这里我们要使用的是source:jar-no-fork。 3.查看source插件的example,然后配置到riil-collect.xml中。  <build>   <plugins>    <pl

maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令

maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令 在日常的工作中由于各种原因,会出现这样一种情况,某些项目并没有打包至mvnrepository。如果采用原始直接打包放到lib目录的方式进行处理,便对项目的管理带来一些不必要的麻烦。例如版本升级后需要重新打包并,替换原有jar包等等一些额外的工作量和麻烦。为了避免这些不必要的麻烦,通常我们

Jenkins构建Maven聚合工程,指定构建子模块

一、设置单独编译构建子模块 配置: 1、Root POM指向父pom.xml 2、Goals and options指定构建模块的参数: mvn -pl project1/project1-son -am clean package 单独构建project1-son项目以及它所依赖的其它项目。 说明: mvn clean package -pl 父级模块名/子模块名 -am参数

springboot+maven搭建的项目,集成单元测试

springboot+maven搭建的项目,集成单元测试 1.在pom.xml文件中引入单元测试的依赖包 <!--单元测试依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></depen