JUnit学习篇
来源:互联网 发布:方舟低配置优化补丁 编辑:程序博客网 时间:2024/06/06 14:00
JUnit是一个Java语言的单元测试框架。多用在白盒测试中,不过在写程序时也会用到,这里简单的介绍如果使用Junit,采用的IDE是MyEcplise10。
首先,编写一个要测试的类CalcHub.java。:
package com.jni;public class CalcHub{public int add(int num1,int num2){return num1+num2;}public int square(int num1){return num1*num1;}public boolean isNegative(int num1){return num1<0;}public String strPing(String str1,String str2){return str1+str2;}}类中有求和、求平方、判断负数、字符串拼接四个方法,由于只是简单测试,所以就比较简单,也没考虑其他因素。
然后我们可以编写测试类,在MyEcplise中,已经集成了Junit。
先选中要测试的CalcHub.java,然后右击在New中,选择其他,搜索 Junit ,就会出现:
选中第一个,出现选择框:
当我们选择3.X时,会生成文件CalcHubTest,我们再添加一些test方法:
package com.jni;import junit.framework.TestCase;public class CalcHubTest extends TestCase {private CalcHub ch = new CalcHub();protected void setUp() throws Exception {super.setUp();System.out.println("Check in");}protected void tearDown() throws Exception {super.tearDown();System.out.println("Check out");}public void testAdd() {assertEquals(100, ch.add(20, 80));}public void testSquare() {assertEquals(100, ch.square(10));}public void testIsNegative() {assertTrue(ch.isNegative(-1));}public void testStrPing() {assertEquals("mylove", ch.strPing("my", "love"));}}
其中testXXX对应着CalcHub中的方法XXX,setup/teardown表示每次testXXX前/后执行一遍。
执行一下CalcHubTest,MyEclipse就跳到JUnit界面了:控制可以看见控制台也打印出来了。
如果之前选着的是JUnit4.x 的话,文件就是这样:
package com.jni;import static org.junit.Assert.*;import org.junit.After;import org.junit.AfterClass;import org.junit.Before;import org.junit.BeforeClass;import org.junit.Test;public class CalcHubTest4 {private CalcHub ch = new CalcHub();@BeforeClasspublic static void setUpBeforeClass() throws Exception {System.out.println("in to test");}@AfterClasspublic static void tearDownAfterClass() throws Exception {System.out.println("out of test");}@Beforepublic void setUp() throws Exception {System.out.println("Check in");}@Afterpublic void tearDown() throws Exception {System.out.println("Check out");}@Testpublic void testAdd() {assertEquals(100, ch.add(20, 81));}@Testpublic void testSquare() {assertEquals(100, ch.square(11));}@Testpublic void testIsNegative() {assertTrue(ch.isNegative(1));}@Testpublic void testStrPing() {assertEquals("mylove", ch.strPing("my", "love2"));}}
和3.x不同,里面多了setUpBeforeClass、tearDownAfterClass。表示在文件执行前/退出前,各执行一次。
因为CalcHubTest4文件中,改动了数据,所以测试都没通过。
其实在4.x文件中,只要任意方法上面标有@BeforeClass/@AfterClass/@Before/@After,就表示在文件所有testXXX执行前/所有testXXX执行后/每个testXXX执行前/每个testXXX执行后,执行一次。
- JUnit学习篇
- JUnit 学习笔记 NetBeans篇
- JUnit学习笔记 补充篇
- 学习JUnit
- junit学习
- 学习JUnit
- Junit 学习
- JUnit学习
- junit学习
- JUnit学习
- Junit学习
- JUnit学习
- junit学习
- JUnit学习笔记之NetBeans篇
- JUnit学习笔记之NetBeans篇
- 《junit in action》:学习junit的好书!
- 学习JUnit——junit基础
- JUnit学习之JUnit的基本介绍
- 声明式事务属性:传播行为、隔离级别 、只读提示 、事务超时间隔
- em按钮乱码问题
- 高手成长的六个阶段
- linux select 多路复用机制
- Codeforces Beta Round #85 (Div. 1 Only), problem: (C) Petya and Spiders 状态压缩
- JUnit学习篇
- 在SQL Server 2008中配置文件流(FILESTREAM)
- Android应用开发中对Bitmap的内存优化
- php文件下载——断点续传下载的原理
- linux下C语言中的flock函数用法
- jQuery发送含有数组参数的ajax请求以及后台Struts2的OGNL解析错误
- excel打开缓慢
- Android Suspend
- VisualSVN Server配置笔记