您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件测试技术 > 单元测试 > 正文

JUnit测试单元框架

发表于:2017-01-09 作者:网络转载 来源:

  junit框架介绍
  JUnit ——是一个开发源代码的Java测试框架,用于编写和运行可重复的测试。他是用于单元测试框架体系xUnit的一个实例(用于java语言)。主要用于白盒测试,回归测试。
  junit安装步骤
  1、在http://download.sourceforge.net/junit/ 中下载JUnit包并将Junit压缩包解压。
  2、添加CLASSPATH环境变量.
  3、双击“CLASS-PATH”关键字添加字符串“?:\Junit4.0Junti.jar”(注意,如果已有别的字符串请在该字符串的字符结尾加上分号“;”),这样确定修改后Junit就可以在集成环境中应用了。
  4、对于IDE环境,对于需要用到的JUnit的项目增加到lib中,其设置不同的IDE有不同的设置 。
  junit使用规范
  使用junit的时候,不应该把它和业务逻辑代码放在一起,应该新建一个类来做测试.
  1、测试类命名
  规则: 被测试的类的类名+Test
  如:LoginTest
  2、测试用例的命名
  规则:test+用例方法的名称
  如: testSum
  3、测试程序的包名定义规范
  规则 被测试的类的包名前加上test.
  如: test.com.lee.util
  测试数据的准备方案
  有三种方案可以选择:
  1、在程序中直接写入测试数据.
  在输出数据项不多的情况下可以采用
  2、使用junitpack包中的InputDataUtil工具类,需要加上 import junitpack InputDataUtil;
  这个测试方案要求把测试数据放在一个XML文件中:
  3、...
  junit注解
  使用junit注解,需要时用junit4版本.
  注解参数
  @Test:使用该注解方法为测试方法,自动能够识别并执行
  包含两个参数 :
  expected = XXXException.class 期望出现的异常
  timeout = xxx 设定程序运行的超时时间.
  不能是静态方法,不能传形参
  Ignore:被忽略的方法
  Before:在每个测试方法之前被执行
  After: 在每个测试方法之后被执行
  BeforeClass : 在所有测试开始前执行
  AfterClass: 在所有测试开始之后执行

  特别注意:
  setUp(),tearDown(),setUpBeforeClass(),tearDownAfterClass()这四个方法其实就是对应的
  @Before、@BeforeClass、@After、@AfterClass这四个注解,
  在Junit4开始使用注解时,其实可以替代这四个方法的功能,只是这四个方法是历史遗留方法,可以考虑使用,也可以直接使用注解替代。
  assertTrue(...)        参数的值应是true
  assertFalse(...)    参数的值应是false
  assertNull(...)        应是null值
  assertNotNull(...)    应是非null的值
  assertSame(...)        使用==比较的结果为true(表示同一个对象)
  AssertNotSame(...)    使用==比较的结果为false
  assertEquals(...)    两个对象equals()方法比较结果为true
  代码示例
package com.lee;
import org.junit.Test;
public class junitDemo {
public static void main(String[] args) {
}
public static int sum(){
int x = 5;
int y = 10;
return x + y;
}
}
package com.lee;
import org.junit.*;
public class junitDemoTest {
@BeforeClass
public static void setUpBeforeClass() throws Exception {
}
@AfterClass
public static void tearDownAfterClass() throws Exception {
}
@Before
public void setUp() throws Exception {
}
@After
public void tearDown() throws Exception {
}
@Test
public void testSum() {
int max = junitDemo.sum();
Assert.assertSame(15, max);
Assert.assertEquals(new String("haha"), "haha");
Assert.assertNotNull(max);
Assert.assertTrue(true);
}
}