(以下是个人学习一些分享,若有爱好者,留言互相学习交流)
单元测试——是最小粒度的测试,以测试某个功能或代码块。一般由程序员来做,因为它需要知道内部程序设计和编码的细节。
(1)单独的 classloader 来运行每个单元测试以避免副作用。
(2)JUnit annotations 注释提供很多资源初始化和回收的方法:
@Before,@BeforeClass,@After,@AfterClass。
(3)各种各样的 assert 方法使它容易检查你的测试结果。
(4)与流行的工具,如 ant、Maven、及流行 IDEs 如:ecplise,NetBeans,JBuilder 整合。
calculator 类
public class Calculator {
public double add(double number1, double number2) {
return number1 + number2;
}
}
public class CalculatorTest {
public static void main(String[] args) {
Calculator calculator = new Calculator();
double result = calculator.add(10,50);
if (result != 60) {
System.out.println("Bad result: " + result);
}
}
}
import static org.junit.Assert.*;
import org.junit.Test;
public class CalculatorTest { //先定义一个测试类。唯一的限制是类必须pulbic ,可以任何名字。这一点与JUnit3X有所不同。
@Test //通过@Test这个annotation声明这是一个测试方法。一般方法的命名为testXXX的模式。
public void testAdd() {
Calculator calculator = new Calculator(); //通过创建Calculator类的实例(被测试的对象)开始了测试工作
double result = calculator.add(10, 50); //通过调用测试方法并传递2个已知值来执行测试
assertEquals(60, result, 0); //利用JUnit框架,调用assertEquals方法检查测试结果.60表示期望值,result为相加的结果,0代表结果是相等且正确
}
}
基本流程(我们一般都是这么写)
使用 junit 进行测试,一般可以总结为如下 4 个步骤:
1) 写测试类并继承 TestCase 类;
2) 写测试方法 testXXXX();
3) 写测试套件类将 test case 加入 test suite;
4) 运行 TestRunner 进行测试;
测试演示:
1)每个开发者都会执行某种类型的测试,以确保新写的代码能正常工作。使用自动单元测试的开发者能够根据需要重复执行这些测试,以确保代码在后面依然正常工作
2)手工编写单元测试并非难事,但是当测试变得更为复杂,编写和维护测试就变得比较困难了。
3)junit 是一个单元测试框架,使得创建、运行、维护单元测试变得简单。