单元测试框架之——JUnit
Java语言编写的Webdriver测试程序通常使用单元测试框架运行,所以有必要了解单元测试框架的使用技巧。
单元测试框架包括JUnit单元测试框架和TestNG单元测试框架
JUnit单元测试框架
1、安装JUnit4
步骤如下:
(1)新建一个Java工程
(2)右击工程,选择“properties”标签栏,单击“add library”按钮。
(3)选择“Java build path”选项,单击“library”标签栏,单击“add library”按钮。
(4)选择“JUnit”选项,单击“next”按钮。
(5)在弹出的对话框中,点击“finish”按钮。
(6)在“Java build path”对话框中,显示JUnit图标,表示引入JUnit4成功。
2、JUnit的常见注解
被测试代码如下:
package cn.gloryroad;
public class Calculator {
public int result = 0;
public int add(int operand1,int operadn2){
result = operand1 + operadn2;//两数相加
return result;
}
public int subtract(int operand1,int operand2){
result = operand1 - operand2;//两数相减
return result;
}
public int multiple(int operand1,int operand2){
result = operand1 * operand2;//两数相乘
for(;;){
}//此处加入一个死循环
}
public int divide(int operand1,int operand2){
result = operand1 / 0;//除数为零的除法运算
return result;
}
public int getresult(){
return this.result;//返回计算结果
}
}
创建JUnit4的测试代码:
(1)右击Calculator类所在的包,选择“New”->”JUnit Test Case”命令。
(2)弹出”JUnit Test Case”的对话框,在“name”输入框输入“CalculatorTest”,并勾选“setUpBeforeClass()”、“tearDownAfterClass()”、“setUp()”、“tearDown()”四个选项,并在“Class under test”输入框中输入“cn.gloryroad.Calculator”,点“finish”完成。
(3)自动生成以下代码。完成JUnit4测试用例的创建工作,基于基本的测试需求,可在此模板基础上编写单元测试代码。
package cn.gloryroad;
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 CalculatorTest {
@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 test() {
fail("Not yet implemented");
}
针对Calculator类的内部实现逻辑,创建如下测试代码
package cn.gloryroad;
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 CalculatorTest {
@BeforeClass
public static void setUpBeforeClass() throws Exception {
System.out.println("@BeforeClass");
}
@AfterClass
public static void tearDownAfterClass() throws Exception {
System.out.println("@AfterClass");
}
@Before
public void setUp() throws Exception {
System.out.println("测试开始");
}
@After
public void tearDown() throws Exception {
System.out.println("测试结束");
}
@Test
public void testadd() {
Calculator cal = new Calculator();
cal.add(2, 2);
assertEquals(4, cal.getresult());
}
@Test
public void testSubstract(){
Calculator cal = new Calculator();
cal.subtract(4, 2);
assertEquals(2, cal.getresult());
}
@Ignore
public void testMultiple(){
fail("Not yet implemented");
}
@Test(timeout = 2000)//表示此用例执行时间不能超过2秒
public void testDivide(){
for(;;);
}
@Test(expected = ArithmeticException.class)//判断是否为ArithmeticException异常,如果是,则设定此测试用例为成功执行状态。
public void testDivideByZero(){
Calculator cal = new Calculator();
cal.divide(4, 0);
}
}
运行结果:
JUnit常见注解及其含义:
3、创建JUnit4 Test Suit
步骤如下:
(1)在同一个包下新建一个测试类,命名为“TestCalculator2”,测试类的具体代码如下:
package cn.gloryroad;
import org.junit.Test;
public class TestCalculator2 {
@Test
public void test() {
System.out.println("TestCalculator2的测试方法被调用");
}
}
(2)创建成功后,右击工程名称,选择“new”->“other”命令。
(3)在弹出的对话框中选择“Java”->“JUnit”下的“JUnit Test Suit”选项,点击“next”。
(4)在弹出的对话框中,选中“TestCalculator”和“TestCalculator2”这两个类,点击“finish”。
(5)自动生成了一个名为“AllTests”的测试类,执行此类代码,两个测试类均被执行。
上一篇: 基于jenkins的自动化单元测试实践
下一篇: 面向对象实验七