文档章节

junit 初步认识

战地春梦
 战地春梦
发布于 2015/08/28 09:31
字数 595
阅读 36
收藏 1
点赞 0
评论 0

junit4.x

(1)、使用junit4.x版本进行单元测试时,不用测试类继承TestCase父类,因为,junit4.x全面引入了Annotation来执行我们编写的测试。

(2)、junit4.x版本,引用了注解的方式,进行单元测试;

(3)、junit4.x版本我们常用的注解:

A、@Before 注解:与junit3.x中的setUp()方法功能一样,在每个测试方法之前执行;

B、@After 注解:与junit3.x中的tearDown()方法功能一样,在每个测试方法之后执行;

C、@BeforeClass 注解:在所有方法执行之前执行;

D、@AfterClass 注解:在所有方法执行之后执行;

E、@Test(timeout = xxx) 注解:设置当前测试方法在一定时间内运行完,否则返回错误;

F、@Test(expected = Exception.class) 注解:设置被测试的方法是否有异常抛出。抛出异常类型为:Exception.class;

G、@Ignore 注解:注释掉一个测试方法或一个类,被注释的方法或类,不会被执行。

package test;



import java.util.Arrays;

import java.util.Collection;



import org.junit.After;

import org.junit.AfterClass;

import org.junit.Assert;

import org.junit.Before;

import org.junit.BeforeClass;

import org.junit.Test;

import org.junit.runner.RunWith;

import org.junit.runners.Parameterized;

import org.junit.runners.Parameterized.Parameters;



//(1)步骤一:测试类指定特殊的运行器org.junit.runners.Parameterized  

@RunWith(Parameterized.class)

public class TestT1 {

 

 t1 t1;

 // (2)步骤二:为测试类声明几个变量,分别用于存放期望值和测试所用数据。

 int x, y, z,expected;

 // (3)步骤三:为测试类声明一个带有参数的公共构造函数,并在其中为第二个环节中声明的几个变量赋值。

 public TestT1(int x, int y, int z,int expected) {

 System.out.println("初始化");

 this.x = x;

 this.y = y;

 this.z = z;

 this.expected = expected;

 }



 // (4)步骤四:为测试类声明一个使用注解 org.junit.runners.Parameterized.Parameters 修饰的,返回值为

 // java.util.Collection 的公共静态方法,并在此方法中初始化所有需要测试的参数对。

 @Parameters

 public static Collection Data() {



 

 }

 

 @BeforeClass

 // 在所有方法执行之前执行

 public static void globalInit() {

 //System.out.println("init all method...");

 }



 @AfterClass

 // 在所有方法执行之后执行

 public static void globalDestory() {

 //System.out.println("destory all method...");

 }

 @Before

 // 在每个测试方法之前执行

 public void setUp() {

 //System.out.println("start setUp method");

 t1=new t1();

 }



 @After

 // 在每个测试方法之后执行

 public void tearDown() {

 //System.out.println("end method");

 }

 

 @Test

 public void testWork1() {

 

 int act = t1.work(x, y, z);

 Assert.assertEquals(expected, act);

 }



 @Test

 public void testWork2() {

 int act = t1.work(x, y, z);

 Assert.assertEquals(expected, act);

 }



 @Test

 public void testWork3() {

 int act = t1.work(x, y, z);

 Assert.assertEquals(expected, act);

 }



 @Test(timeout = 1000)

 public void testWork4() {

 int act = t1.work(x, y, z);

 Assert.assertEquals(expected, act);

 }

}

 

© 著作权归作者所有

共有 人打赏支持
战地春梦
粉丝 4
博文 33
码字总数 24598
作品 0
南充
JUnit 5.2.0 发布,Java 单元测试框架

JUnit 5.2.0 发布,JUnit 5.2.0 = Platform 1.2.0 + Jupiter 5.2.0 + Vintage 5.2.0,此次更新包括构建工具的增强、参数化测试的改进等。 更新信息如下: 构建工具功能增强以支持新的模块化体...

雨田桑 ⋅ 05/04 ⋅ 0

springboot在jetty+websocket的环境下的junit测试失败

这个问题描述起来可能还比较长。 首先我在springboot中选择了jetty作为服务器,然后现在我希望使用jetty的websocket功能,因此边加了jetty的websocket包。按照网上的教程,只要注意把tomcat的...

kuma_ller ⋅ 05/27 ⋅ 0

ContiPerf接口性能测试

ContiPerf ContiPerf是一个轻量级的测试工具,基于JUnit 4 开发,可用于接口级的性能测试 可以指定在线程数量和执行次数,通过限制最大时间和平均执行时间来进行效率测试 具体使用方法 添加依...

kipeng300 ⋅ 05/11 ⋅ 0

Gradle学习(二十一)——用TestKit测试构建逻辑

用法 想使用TestKit,需要在构建脚本中引入: gradleTestKit()方法包含TestKit的class文件,还有Gradle Api的客户端工具类,但是并不包含JUnit,TestNG等测试工具的类, 用GradleRunner进行功...

lastsweetop ⋅ 03/10 ⋅ 0

MyBatis使用,MyBatis单独使用笔记

MyBatis使用,MyBatis单独使用笔记 1. 创建一张表 2. 引入jar包 3. 创建数据库属性文件db.properties [plain] view plain copy jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://l......

优惠券活动 ⋅ 04/25 ⋅ 0

在eclipse中配置maven

官网下载maven插件(http://maven.apache.org/download.cgi) 现在完解压如图所示: 文件目录介绍: Bin:二进制文件 Boot:引导,启动 Conf:配置文件 Lib:jar包 README.txt:读我 2.修改配置文件...

懿宁19931210 ⋅ 05/15 ⋅ 0

Android程序测试(1)——新建一个简单的测试工程来测试已有的工程

因为程序测试方面是程序开发中非常重要的一方面,这里结合官方教程,来了解下Android程序是怎样进行测试的。 Android开发环境集成了一个容易使用但同时很强大的程序测试框架,通过这个框架,...

一路漫漫 ⋅ 2012/03/16 ⋅ 0

spring-boot2.0 单元测试JUnit4

spring-boot2.0 单元测试JUnit4 简单在spring-boot2.0版本中使用junit 源码如下: @SpringBootTest(classes = DemoT002Application.class) 只要加上这个就能使用DemoT002Application.class是......

btmaxyyq ⋅ 06/04 ⋅ 0

【Android stuido】【Monkey】【Jenkins】自动化测试初探

自动化测试初探-201709032226 Junit 部分注解说明 一个JUnit4 的单元测试用例执行顺序为:@BeforeClass –> @Before –> @Test –> @After –> @AfterClass 每一个测试方法的调用顺序为:@Be...

lichong951 ⋅ 05/24 ⋅ 0

Spring Boot JedisCluster

简述 Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API 配置 1、添加Maven依赖 (或jar包) <dependency> <groupId>org...

夜黑人模糊灬 ⋅ 05/31 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

【elasticsearch】 随笔 Date datatype

一。时间类型的本质 首先json是没有时间类型的,对于es来说,时间类型的标示可以是下面三种情况 1.一个时间格式的字符串,如:"2014-11-27T08:05:32Z","2015-01-01" or "2015/01/01 12:10:3...

xiaomin0322 ⋅ 28分钟前 ⋅ 0

阿里云资源编排ROS使用教程

阿里云资源编排ROS详细内容: 阿里云资源编排ROS使用教程 资源编排(Resource Orchestration)是一种简单易用的云计算资源管理和自动化运维服务。用户通过模板描述多个云计算资源的依赖关系、...

mcy0425 ⋅ 30分钟前 ⋅ 0

适配器设计模式

1、适配器模式 把一个类的接口变换成客户端所期待的另一种接口 使原本因接口不匹配而无法在一起工作的两个类能够在一起工作 分为类的适配器模式和对象的适配器模式 2、类适配器模式 类的适配...

职业搬砖20年 ⋅ 35分钟前 ⋅ 0

npm操作报错 _stream_writable.js:61

有一天 不知道什么原因(估计和node的版本有关),无论你做什么npm的操作 都会报错/usr/local/lib/node_modules/npm/node_modules/readable-stream/lib/_stream_writable.js:61 这时候只要执...

lilugirl ⋅ 38分钟前 ⋅ 0

Eclipse安装插件的几种方式

Eclipse魅力之一就是支持可扩展的插件,来丰富自身的功能,这种方式也是建立在开源思想之上的。具体使用什么方式去安装插件,要看我们拿到的是什么。 1. 拿到的是一串URL,如http://subclips...

GordonNemo ⋅ 41分钟前 ⋅ 0

div图片叠加

css实现代码如下: <div style="position: relative;"><!--这个层为外面的父层,需设置相对位置样式--> <div style="position: absolute;"><!--子层,需设置绝对位置样式--> <i......

niithub ⋅ 42分钟前 ⋅ 0

作用域slot

如果父组件需要使用子组件中的内容怎么办,比如父组件需要控制子组件的显示 <div id="root"><child><template slot-scope="props"><h1>{{props.item}} <div>编辑</div></h1><......

金于虎 ⋅ 45分钟前 ⋅ 1

HongHu commonservice-eureka 项目构建过程

上一篇我们回顾了关于 spring cloud eureka的相关基础知识,现在我们针对于HongHu cloud的eureka项目做以下构建,整个构建的过程很简单,我会将每一步都构建过程记录下来,希望可以帮助到大家...

明理萝 ⋅ 48分钟前 ⋅ 1

xml和对象的相互转化

@Data//setter和getter方法,toString和equals,hashcode方法@EqualsAndHashCode//代表重写equals和hashcode方法@XmlAccessorType(XmlAccessType.FIELD)public class Classroom {@X......

拐美人 ⋅ 48分钟前 ⋅ 0

tableView cell的高度 分组头部尾部的高度 自适应

@property (nonatomic) CGFloat rowHeight; // default is UITableViewAutomaticDimension@property (nonatomic) CGFloat sectionHeaderHeight; // default is UITableViewA......

娜一片蓝色星海 ⋅ 49分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部