JUnit快速入门
一、一个简单的Junit测试流程:
1、在项目中导入junit-4.7.jar包,
方法:右击项目,选择Build Path->Configure Build Path->Libraries->Add External JARS,选择junit-4.7.jar包的位置,导入。
注:如果想看junit的源代码,导入时一并将junit-4.7-src.jar这个源文件包一起导入即可。
2、写一个类,如在类中加入两个最简单的加减法的方法。
如:
public class JunitDemo {
public int add(int x,int y){
int z = x+y;
return z;
}
public int subtraction(int x,int y){
int z = x-y;
return z;
}
}
新建一个Junit测试类,方法:新建一个文件,类型为Junit Test Case,命名时最好是被测的类名+test,如JunitDemoTest
3、创建好junit测试类后,对每个需要测试的方法测试,如:
public class JunitDemoTest {
@Test
public void testAdd() {
int z = new JunitDemo().add(2, 3);
assertEquals(5, z);
}
@Test
public void testSubtraction(){
JunitDemo jd = new JunitDemo();
int z = jd.subtraction(5, 2);
assertEquals(3, z);
}
}
4、右击junit测试类,选择以junit的方式来运行,之后即可看见测试结果。
二、Junit中的Annotation
@Test public void method() 定义一个要测试的方法
@Before public void method() 在每一个测试之间都会被执行的方法,这个方法常用来进行一些测试环境的准备。
如:读入输入数据、初始化类等
@After public void method() 与@Before进行对应,做一个清理工作
@BeforeClass public static void method() 在所有的测试开始之前执行,这个方法在类运行的时候运行,而且只运行一次。
所有常用来做一些所有方法都要依赖到的工作,如:数据库的链接
@AfterClass public static void method() 与@BeforeClass进行对应,做一些类级别的清理工作
@Ignore 表示方法是被忽略的,这个方法非常实用,比如方法已经修改,但是对应的测试
方法还没有得到一致的修改的时候,可以用这个关键词忽略这个方法
@Test(expected==IIIegalArgumentException) 检查测试方法是不是抛出了相对应的异常
@Test(timeout=100) 如果方法的执行操作所消耗的毫秒数>100MS,那么方法失败
三、Junit单元测试用例的执行顺序:
@BeforeClass->@Before->@Test->@After->@AfterClass
注:每一个测试方法的调用顺序为:
@Before->@Test->@After
四、最重要的断言Assert,断言这里的方法太多,举几个例子好了,其他的自行查看API
assertEquals("message",A,B):检查A和B是否有相同的内容
assertSame("message",A,B):检查A和B是否是同一个对象
assertTrue("message",A):检查A条件是否为真
JUnit快速入门的更多相关文章
- 【Java】Junit快速入门
Junit介绍 JUnit是一个Java语言的单元测试框架.它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中最为成功的一个. JUnit ...
- SpringMvc_快速入门,深入分析
目录 一.前言二.spring mvc 核心类与接口三.spring mvc 核心流程图 四.spring mvc DispatcherServlet说明 五.spring mvc 父子上下文的说明 ...
- Spring MVC 教程,快速入门,深入分析
http://elf8848.iteye.com/blog/875830/ Spring MVC 教程,快速入门,深入分析 博客分类: SPRING Spring MVC 教程快速入门 资源下载: ...
- Spring_MVC_教程_快速入门_深入分析
Spring MVC 教程,快速入门,深入分析 博客分类: SPRING Spring MVC 教程快速入门 资源下载: Spring_MVC_教程_快速入门_深入分析V1.1.pdf Spring ...
- Redis 快速入门
Redis 快速入门 谈到Redis,大家应该都不陌生.它是用c语言开发的一个高性能键值数据库,主要用于缓存领域.本章通过Redis的安装,Redis的五大数据类型,Redis的Java客户端,Red ...
- Mybatis3 快速入门
Mybatis3 快速入门 目前常见的持久层java框架有Hibernate,Mybatis,SpringData.笔者比较喜欢用SpringData.Hibernate 和 Mybatis 也经常用 ...
- Maven3 快速入门
Maven3 快速入门 Maven 是目前大型项目构建的必备知识.本章会通过介绍 Maven 的作用,Maven 的基本语法,以及搭建企业级项目架构来快速入门 Maven .前两部分是理论知识只需要了 ...
- SpringData 基于SpringBoot快速入门
SpringData 基于SpringBoot快速入门 本章通过学习SpringData 和SpringBoot 相关知识将面向服务架构(SOA)的单点登录系统(SSO)需要的代码实现.这样可以从实战 ...
- Gradle 1.12 翻译——第九章 Groovy快速入门
由于时间关系,没办法同时做笔记和翻译,关于Gradle的用户指南,本博客不再做相关笔记,而只对未翻译章节进行翻译并在此发表. 有关其他已翻译的章节请关注Github上的项目:https://githu ...
随机推荐
- Opengl中的GLUT下的回调函数
void glutDisplayFunc(void (*func)(void)); 注册当前窗口的显示回调函数 参数: func:形为void func()的函数,完成具体的绘制操作 这个函数告诉GL ...
- 解决Hbuilder打包的apk文件按手机返回键直接退出软件
问题描述:Hbuilder打包的app如果点击手机返回键,app会直接退出,返回不了上一页. 写在公共js文件中,每个页面均引入该js,代码如下: document.addEventListener( ...
- 从源码角度看Transaction以及如何手工接管Transaction实现高度的自定义化
一:transaction CUD: 在一个transaction中... transaction: start add.... delete... update... transaction: co ...
- 关于Relay的麻烦之处
问题背景 由于QueryRender是直接将数据塞进Render()里的 handleUpdate = (hasNextPage, xdata) =>{ console.log(3); cons ...
- 判断客户端是iOS还是Android,判断是不是在微信浏览器打开
bool flag = false; string agent = System.Web.HttpContext.Current.Request.UserAgent.ToLower(); string ...
- SDOI2010粟粟的书架
题目传送:https://www.luogu.org/problemnew/show/P2468 这是一个二合一的题目,前50% \(n!=1\)的分数中,我们考虑用动态规划来做. 设\(sum[i] ...
- TOMCAT在POST方法提交参数丢失问题
最近写程序发现post参数接收不到了,jdk,eclipse,jar包,换了多次都不行,后来看到网上一篇文章: 随后设置Tomcat中POST方式提交数据大小: maxPostSize="0 ...
- “全栈2019”Java第十一章:标识符
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- HDU3183 贪心/RMQ-ST表
A Magic Lamp Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tota ...
- jquery之链式调用,层级菜单
一. 链式调用的含义 jquery对象的方法会在执行完后返回这个jquery对象,所有jquery对象的方法可以连起来写: $('#div1') // id为div1的元素 .children('ul ...