您的位置:首页 > 产品设计 > UI/UE

Junit入门学习(2)---------------TestSuite使用

2015-08-18 16:44 429 查看

在junit3时候需要遵循以下规范,但在junit4以后使用注解的形式,以下大多数被优化了。

一、TestSuite处理测试用例有6个规约(否则会被拒绝执行测试)

A 测试用例必须是公有类(Public)

B 测试用例必须继承与TestCase类

C 测试用例的测试方法必须是公有的( Public )

D 测试用例的测试方法必须被声明为Void

E 测试用例中测试方法的前置名词必须是test

F 测试用例中测试方法误任何传递参数

二、setUp()和tearDown()方法

功能:分别提供初始化和反初始化每个测试方法。即:

setUp在每个测试方法调用前被调用,负责初始化测试方法所需要的测试环境;

tearDown在每个测试方法被调用之后被调用,负责撤销测试环境。它们与测试方法的关系可以描述如下:

测试开始 -> setUp -> testMethodXXXX -> tearDown ->测试结束

三、TestSuite使用

package com;
import junit.framework.TestCase;
import junit.framework.TestSuite;
import org.junit.Test;
public class JunitTest extends TestCase {

public static junit.framework.Test suite(){
//1、指定测试方法的办法
TestSuite suite = new TestSuite();
suite.addTest(new JunitTest("testAdd"));  //测试指定的testAdd方法,但是必须重写下面的构造方法
return suite;
//2、测试所在类的全部方法
//return new TestSuite(JunitTest.class);  指定测试的类,测试其中全部的testXXX()方法
}

public JunitTest(String name){
super(name);
}

@Override
protected void setUp() throws Exception {
super.setUp();
//初始化
}

@Test
public void testAdd() {
System.out.println("23");
double result = Calculator.add(30, 60);
assertEquals("数据与期望值不符", 90, result, 0);
}

@Override
protected void tearDown() throws Exception {
super.tearDown();
//销毁
}
}
注:当未重写suite方法时默认执行当前类中全部符合testXXX()方法,故一般情况下默认不写。

四、junit4的例子

package com;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

public class AllTest{

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

@Test
public void add(){
System.out.println(Calculator.add(13, 25));
}

@Test
public void add2(){
System.out.println(Calculator.add(33, 44));
}

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

}
运行结果:



由此可知:@Before、@After、@Test的作用,简化了以上的setUp()和tearDown()方法。

五、TestCse、TestSuite、TestRunner区别

TestCase----测试用例

TestSuite----测试集合

TestRunner----测试运行器
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: