一,学习Junit4,学以致用
二,熟悉编写流程
工具:Eclipse,Junit包,hamcrest.core包
1,打开Eclipse开发工具,新建工程:file->Java Project或者使用快捷键(alt+shift+N)
并起名工程名字:junit4Demo2
2,创建被测试数据的包文件:在生成的junit4Demo2工程下的src源文件夹下创建包:com.duo.util
3,新建被测试类:Calculate
4,在新建的被测试类中输入代码:
1 package com.duo.util; 2 3 public class Calculate { 4 public int add(int a, int b){ 5 return a + b; 6 } 7 8 public int subtract(int a, int b){ 9 return a - b; 10 } 11 12 public int multiply(int a, int b){ 13 return a * b; 14 } 15 16 public int divide(int a, int b){ 17 return a / b; 18 } 19 20 21 }
5,导入junit4 jar包(为什么这是时候导入,原因就是编码的一种习惯,需要什么在引入什么)
右键工程名:junit4Demo2->Build Path->Add Libraries
选择junit,下一步,查看导入的junit包的位置
“Finish”即可
导入后的工程结构如下:
6,在src目录下创建junit测试类(后有优化方法和代码)
右键com.duo.util包,新建“测试类”:CalculateTest
基本代码:
1 package com.duo.util; 2 3 import static org.junit.Assert.*; 4 5 import org.junit.Test; 6 7 public class CalculateTest { 8 9 10 @Test 11 public void testAdd(){ 12 assertEquals(6, new Calculate().add(4, 2)); 13 } 14 15 }
7,运行结果:
三,优化:
优化主要是两方面优化:
A,结构优化:业务代码和测试代码分离,使结构清晰
B,测试方法优化:可能一个测试类中有N多方法,不可能一个个手动复制粘贴那个人肉操作;工具能够处理的事情还是交给工具做,提高效率;个人还是专注于业务代码较为合适和正道;
优化开始:
A ,结构优化:业务代码和测试代码分离
1,新建“源文件”夹:右键工程结构名junit4Demo2->Source Folder->test
可以和第二部分的第7步骤的工程结构作对比
B,测试方法优化:
1,通过工具自带的方法可以一次性生成被测试类的所有方法:
右键test/com.duo.util,选择JUnit Test Case选项:
Next:
可能有时候下面的红框部分没有对应的被测试类:通过点击“Browse”,输入关键字查询:
并命名:
点击“Next”,选择想生成的被测试方法:
“Finish”即可
运行结果:
注:要是想单独运行一个测试方法则可以通过下面方法:展开测试类,选中其中的某一个方法右键运行即可
三,学习反思
1,测试方法上必须使用@Test进行修饰
2,测试方法必须使用public void进行修饰,不能带有任何参数
3,新建一个源代码目录存放我们的测试方法
4,测试类的包和被测试类的包保持一致
5,测试单元中的每一个测试方法必须可以独立测试,测试方法中不能有任何依赖
6,测试类使用Test作为后缀(不是必须)
7,测试方法使用test作为方法的前缀(不是必须)