Junit框架(基于myeclipse)

1.什么是Junit?
JUnit是一个Java语言的单元测试框架。编写的一个回归测试框架(regression testing framework)。
2.为什么要使用Junit?
1)在极限编程的过程中,基本过程是这样的:构思-> 编写测试代码-> 编写代码-> 测试,编写测试和编写代码都是增量式的,代码中如果发现问题可以较快的找到问题的原因,减小回归错误的纠错难度。
2)需要编写测试的代码的,可能原来不是使用的junit,如果使用junit,而且针对接口(方法)编写测试代码会减少以后的维护工作。
3)有断言功能,在一定情况下大大提高了效率。
3.下载jar包
登录到官网:http://search.maven.org/
1)下载Junit-1.12.jar
这里写图片描述
2)下载hamcrest-core-1.3.jar
这里写图片描述
4.为工程导入jar包
1)鼠标右键单击项目Build path–>Add Libraries。
这里写图片描述
2)我们这里没有相应的jar包,需要创建。
这里写图片描述
3)创建装jar包的文件夹。
这里写图片描述
4)添加相应的jar包。
这里写图片描述
选择你要添加的jar
这里写图片描述
5)最后点击finish完成。
5.体验单元测试
1)创建测试类
这里写图片描述
这里写图片描述
这里写图片描述
第一个方法是生成的方法,后边几个都是我自己手动写上去的
package org.junit4Demo.util;

import static org.junit.Assert.*;

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Ignore;
import org.junit.Test;

public class TestRandom1 {

@Test
public void testRandomInt() {
    fail("Not yet implemented");
}

@Test
public void testTest() {
    System.out.println("@Test");// 调用自己要测试的方法
}

@Test
public void testAssert() {
    assertEquals("chenleixing", "chenlei");
}

@Test(timeout = 1)
public void testTimeout() {
    System.out.println("超时测试");
}

@Before
public void testBefore() {
    System.out.println("@Before");
}

@BeforeClass
public static void testBeforeClass() {// 必须为静态方法
    System.out.println("@BeforeClass");
}

@After
public void testAfter() {
    System.out.println("@After");
}

@AfterClass
public static void testAfterClass() {// 必须为静态方法
    System.out.println("@AfterClass");
}

@Ignore
public void testIgnore() {
    System.out.println("@Ignore");
}

}
2)JUnit4注解解释
1. @Test : 测试方法,测试程序会运行的方法,后边可以跟参数代表不同的测试,如(expected=XXException.class) 异常测试,(timeout=xxx)超时测试
2. @Ignore : 被忽略的测试方法
3. @Before: 每一个测试方法之前运行
4. @After : 每一个测试方法之后运行
5. @BeforeClass: 所有测试开始之前运行
6. @AfterClass: 所有测试结束之后运行
fail方法是指测试失败
assertEquals测试2个参数是否相等,具体参考相应API
3)测试结果显示
这里写图片描述
这里写图片描述
6.常用
测试类也可以手动的创建,使用Test注解可以实现简单的类方法调用
这里写图片描述
参考:
http://blog.csdn.net/chenleixing/article/details/44260359

猜你喜欢

转载自blog.csdn.net/lg_49/article/details/78127987