1.功能
-在项目未在浏览器运行之前对获得的结果和预期的结果进行比较调试,减少BUG和发布时的修复工作
2.测试类和代码类应分开存放.在src目录下new一个Test资源目录
3.JUnit Test Case
可以对类中的方法生成测试方法
4.//方法中第一个参数为预测获得的结果,第二个为实际运行结果
将预测结果和运行实际值进行比较
assertEquals(6, new Arithmetic().multiplication(2, 3));
5.Failure -- 一般有单元测试使用的断言方法判断失败所引起的,这表示测试点发现了问题,就是说程序输出结果和我们预期的不一致
error -- 一般由代码异常引起,它可以产生于测试代码本身的错误,也可以是被测试代码中的一个隐藏的BUG
6.运行流程
-BeforeClass -- 所有加载开始前运行一次.适用于加载配置文件等只需运行一次的代码块
-AfterClass -- 所有代码运行完成后加载一次.适用于关闭资源
--整个流程中只会存在一个beforeClass和AfterClass实例
-before/after -- 每次加载Test时都会运行,适用于想随程序运行执行的静态代码块
7.注解详解
-@Test
--@Test(expected=anyException.class)
---预测程序会抛出何种异常,若抛出则忽略
--@Test(timeout=any mm)
--- 此修饰将在any毫秒后结束测试
-@Ignore
--此修饰符下的方法会被测试运行器忽略
-@RunWith
--可以更改(定制)自己的运行器 org.junit.runner.Runner
8.import static org.junit.Assert.*;断言
9.测试套件
将测试运行器更改为Suite.class
用SuiteClasses将测试类包裹其中
@RunWith(Suite.class)
@SuiteClasses({Task1Test.class,Task2Test.class,Task3Test.class})
10.参数化设置
-更改默认测试运行器为RunWith(Parameterized.class)
-声明变量来存放预期值和结果值
-声明一个返回值为Collection的公共静态方法,并使用@Parameters进行修饰
-为测试类声明一个带有参数的公共构造函数,并在其中为之声明变量赋值
http://blog.csdn.net/jacxuan/article/details/53454819