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

相关文章

BD错误集锦8——在集成Spring MVC + MyBtis编写mapper文件时需要注意格式 You have an error in your SQL syntax

报错的文件 <?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.yuan.dao.YuanUserDao"><!

如何利用echarts编写立体的柱状图表

1、引入 import * as echarts from 'echarts' 2、创建图标容器 3、调用渲染 <template><div ref="eachrtsBox" style="width: 200px;height: 200px;"></div></template><script>import * as echarts from 'echarts'export d

spring-boot-maven-plugin多模块install问题

一、问题描述:   项目分多个模块,open-eureka注册中心、open-provider服务提供者、open-common公共部分,provider依赖common。父pom使用spring-boot-maver-plugin插件,项目直接运行Main主类没问题,但是install报common中的类找不到符号. 二、查找问题:   spring-boot-maven-plugin 打

ssh在本地虚拟机中的应用——解决虚拟机中编写和阅读代码不方便问题的一个小技巧

虚拟机中编程小技巧分享——ssh的使用 事情的起因是这样的:前几天一位工程师过来我这边,他看到我在主机和虚拟机运行了两个vscode环境,不经意间提了句:“这么艰苦的环境写代码啊”。 后来我一想:确实。 我长时间以来都是直接在虚拟机里写的代码,但是毕竟是虚拟机嘛,有时候编辑器没那么流畅,在文件比较多的时候跳转很麻烦,容易卡住。因此,我当晚简单思考了一下,想到了一个可行的解决方法——即用ssh

简单 使用 的makefile编写 框架

1、指定编译器,如海思平台:CROSS_COMPILE=arm-hisiv100nptl-linux-; 2、指定编译工具:GCC=$(CROSS_COMPILE)gcc   CC=$(CROSS_COMPILE)g++; 3、使用 export 导出 子makefile 要用的变量; 4、定义变量的形式  指定 工程源文件 需要使用到的 “宏”,在后面的 LDFLAGS 里面使用 -D将其

Maven的依赖传递、依赖管理、依赖作用域

在Maven项目中通常会引入大量依赖,但依赖管理不当,会造成版本混乱冲突或者目标包臃肿。因此,我们以SpringBoot为例,从三方面探索依赖的使用规则。 1、 依赖传递 依赖是会传递的,依赖的依赖也会连带引入。例如在项目中引入了spring-boot-starter-web依赖: <dependency><groupId>org.springframework.boot</groupId>

(转)Sublime Text 2 (Emmet):HTML/CSS代码快速编写神器

Emmet的前身是大名鼎鼎的Zen coding,如果你从事Web前端开发的话,对该插件一定不会陌生。它使用仿CSS选择器的语法来生成代码,大大提高了HTML/CSS代码编写的速度,比如下面的演示:   Zen coding下的编码演示   去年年底,该插件已经改名为Emmet。但Emmet不只改名,还带来了一些新特性。本文就来直观地演示给你。 一、快速编写HTML代码 1.

编程精粹—— Microsoft 编写优质无错 C 程序秘诀 07:编码中的假象

这是一本老书,作者 Steve Maguire 在微软工作期间写了这本书,英文版于 1993 年发布。2013 年推出了 20 周年纪念第二版。我们看到的标题是中译版名字,英文版的名字是《Writing Clean Code ─── Microsoft’s Techniques for Developing》,这本书主要讨论如何编写健壮、高质量的代码。作者在书中分享了许多实际编程的技巧和经验,旨在

maven settings.xml无效排查过程

1.首先执行mvn help:effective-settings,查找当前maven仓库地址 2.错误信息 [ERROR] Error executing Maven. [ERROR] 2 problems were encountered while building the effective settings [FATAL] Non-parseable settings /Users/x

Linux内核开发-编写一个内核模块

0.前言 上一章(点击返回上一章)已经完成了将ubuntu原始内核替换成了自己编好的内核。本章开始编写一个内核模块。 1.内核模块 1.1 什么是内核模块 Linux内核模块可独立于内核之外进行编译,可以在内核运行时动态加载、卸载。内核模块以.ko为后缀。 1.2 操作内核模块常用的指令 # 查看当前正在运行的模块lsmod#插入一个模块insmod module_name# 卸载