Junit4学习(一)新建Junit4工程

时间:2022-02-23 16:45:34

一,学习Junit4,学以致用

二,熟悉编写流程

工具:Eclipse,Junit包,hamcrest.core包

1,打开Eclipse开发工具,新建工程:file->Java Project或者使用快捷键(alt+shift+N)

Junit4学习(一)新建Junit4工程

并起名工程名字:junit4Demo2

2,创建被测试数据的包文件:在生成的junit4Demo2工程下的src源文件夹下创建包:com.duo.util

Junit4学习(一)新建Junit4工程

3,新建被测试类:Calculate

Junit4学习(一)新建Junit4工程

4,在新建的被测试类中输入代码:

Junit4学习(一)新建Junit4工程Junit4学习(一)新建Junit4工程
 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 }
View Code

 

5,导入junit4 jar包(为什么这是时候导入,原因就是编码的一种习惯,需要什么在引入什么)

右键工程名:junit4Demo2->Build Path->Add Libraries

Junit4学习(一)新建Junit4工程

 

选择junit,下一步,查看导入的junit包的位置

Junit4学习(一)新建Junit4工程

“Finish”即可

导入后的工程结构如下:

Junit4学习(一)新建Junit4工程

 

6,在src目录下创建junit测试类(后有优化方法和代码)

右键com.duo.util包,新建“测试类”:CalculateTest

Junit4学习(一)新建Junit4工程

 基本代码:

 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,运行结果:

Junit4学习(一)新建Junit4工程

 

 

三,优化:

优化主要是两方面优化:

A,结构优化:业务代码和测试代码分离,使结构清晰

B,测试方法优化:可能一个测试类中有N多方法,不可能一个个手动复制粘贴那个人肉操作;工具能够处理的事情还是交给工具做,提高效率;个人还是专注于业务代码较为合适和正道;

优化开始:

A ,结构优化:业务代码和测试代码分离

1,新建“源文件”夹:右键工程结构名junit4Demo2->Source Folder->test

可以和第二部分的第7步骤的工程结构作对比

Junit4学习(一)新建Junit4工程

 

B,测试方法优化:

1,通过工具自带的方法可以一次性生成被测试类的所有方法:

右键test/com.duo.util,选择JUnit Test Case选项:

Junit4学习(一)新建Junit4工程

Next:

可能有时候下面的红框部分没有对应的被测试类:通过点击“Browse”,输入关键字查询:

Junit4学习(一)新建Junit4工程

Junit4学习(一)新建Junit4工程

并命名:

Junit4学习(一)新建Junit4工程

点击“Next”,选择想生成的被测试方法:

Junit4学习(一)新建Junit4工程

“Finish”即可

运行结果:

Junit4学习(一)新建Junit4工程

 

 注:要是想单独运行一个测试方法则可以通过下面方法:展开测试类,选中其中的某一个方法右键运行即可

Junit4学习(一)新建Junit4工程

 

 

三,学习反思

1,测试方法上必须使用@Test进行修饰

2,测试方法必须使用public void进行修饰,不能带有任何参数

3,新建一个源代码目录存放我们的测试方法

4,测试类的包和被测试类的包保持一致

5,测试单元中的每一个测试方法必须可以独立测试,测试方法中不能有任何依赖

6,测试类使用Test作为后缀(不是必须)

7,测试方法使用test作为方法的前缀(不是必须)