Junit简介
来源:互联网 发布:七天网络阅卷公司 编辑:程序博客网 时间:2024/06/05 18:54
JUnit是一个Java语言的单元测试框架,由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架(regression testing framework)。Junit是一套框架,继承TestCase类,就可以用Junit进行自动测试了。
Junit的特性:
1、用于测试期望结果的断言(Assertion)
2、用于共享共同测试数据的测试工具
3、用于方便的组织和运行测试的测试套件
4、图形和文本的测试运行期
这里我们简单介绍下Junit的环境配置,使用方法,具体深入的,请私下自己深入学习。
1、环境配置
1)在Eclipse中选中工程,右键“Properties”或是在菜单Project---Properties,打开项目配置的窗口,选择到Java Build Path。
2)右边的标签选择“Libraries”,点击“Add External JARS”按钮,然后选择Junit的jar包,点击“打开”按钮即将Junit使用的jar包添加到项目配置中;具体截图如下:
配置完毕后项目截图如下:
2、简单的使用
下面是一个java源代码文件,我们要做的就是针对它使用Junit完成单元测试:
package mytest1;public class Cal {private static int result;public void add(int n){result = result + n;}public void substract(int n){//bug:正确的应该是result=result-n;result = result -1;}public void multiply(int n){//方法没有写好,空方法}public void divide(int n) { result = result / n; }public void square(int n){result = n * n;}public void squareRoot(int n){//bug,这里是个死循环for(;;);}public void clear(){result = 0;}public int getResult(){return result;}}
分析过代码后,开始针对该文件中的方法做单元测试。
1)在项目中选中Cal.java,然后右键New--Junit Test Case,新建一个Junit testcase类:
2)单元测试的类,一般都是XXXXTest.java。修改文件名后,点击“Next”,接着选择需要测试的方法等,具体如下:
3)点击OK后,生成对应的代码,但是这个代码还需要修改和完善才能做到单元测试的功能。完善后的代码如下:
具体的文件如下:
package mytest1;import static org.junit.Assert.*;import org.junit.Before;import org.junit.Ignore;import org.junit.Test;public class CalTest {private static Cal cal = new Cal();@Beforepublic void setUp() throws Exception {cal.clear();}@Testpublic void testAdd() {cal.add(2);cal.add(3);assertEquals(5, cal.getResult());//fail("Not yet implemented");}@Testpublic void testSubstract() {cal.add(10);cal.substract(2);assertEquals(8, cal.getResult());//fail("Not yet implemented");}@Ignore("Multiply() not yet implemented")@Testpublic void testMultiply() {}@Testpublic void testDivide() {cal.add(8);cal.divide(2);assertEquals(4, cal.getResult());//fail("Not yet implemented");}@Test(expected = ArithmeticException.class)public void divideByZero(){cal.divide(0);}}4)执行单元测试类:右键Run As----Junit test。执行结果如下:
5)从执行结果中可以看到哪些测试成功,哪些测试失败。测试失败的,在Failure Trace窗口中可以看到测试失败的原因
3、Junit测试类中注解的含义和执行顺序
通过上面代码编写,可以看到Junit测试类中方法前面会有@Test,@Before等字符。这个是Java编程中的注解。
Junit中注解的含义如下:
@是注解 @Test
表明下面是测试方法
@Test(timeout=200)
表示下面的测试是限时测试,如果超过规定的时间,就测试失败
@Test(expected=IllegalArgumentException.class)
异常测试,验证方法能否抛出预期的错误@Ignore
注释掉一个测试方法或一个类,被注释的方法或类,不会被执行
@BeforeClass
修饰static的方法,在整个类执行之前执行该方法一次。
@AfterClass
同样修饰static的方法,在整个类执行结束前执行一次。如释放资源
@Before
修饰public void的方法,在每个测试用例(方法)执行时都会执行
@After
修饰public void的方法,在每个测试用例执行结束后执行
package com.hotelrestsys.frame.check_out;import org.junit.After;import org.junit.AfterClass;import org.junit.Before;import org.junit.BeforeClass;import org.junit.Test;public class DayDialogTest { @BeforeClass public static void beforeclass(){ System.out.println("beforeclass"); } @AfterClass public static void afterclass(){ System.out.println("afterclass"); } @Before public void setUp() throws Exception { System.out.println("before"); } @After public void tearDown() throws Exception { System.out.println("after"); } @Test public void test1() { System.out.println("test1"); } @Test public void test2(){ System.out.println("test2"); }}运行结果如下:
0 0
- 01Junit junit简介
- JUnit单元测试--JUnit简介
- junit 简介
- Junit简介
- junit简介
- junit简介
- Junit简介
- JUnit简介
- JUnit简介
- JUnit简介
- Junit简介
- Junit简介
- JUnit 简介
- JUnit 简介
- 3.Junit入门简介
- JUnit测试骨架简介
- JUnit测试框架简介
- JUnit简介 and Assert
- HBase 与 Hive 的区别和关系
- 【杭电oj】2111 - Saving HDU(贪心,水)
- Source Insight 获取当前文件名
- Linux内核学习笔记之GPIO控制
- SQL Server数据库实现异地备份
- Junit简介
- 2014年11月18日星期二( DEMO9-4)
- 【LWJGL2 WIKI】【现代OpenGL篇】交叉数据画方形
- js事件绑定的第二种形式
- 简单三步通过Builder模式来实现Android顶部导航TopBar
- 寻找前k大的数
- CSS3后代选择器和同级选择器简介和实例
- 堆区和栈区的区别
- unity3d--动态加载资源和查找资源的方式(1)