Junit4学习

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Junit4学习相关的知识,希望对你有一定的参考价值。

一,学习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 }
View Code

 

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作为方法的前缀(不是必须)

以上是关于Junit4学习的主要内容,如果未能解决你的问题,请参考以下文章

junit4单元测试--web项目中模拟登录会话,做全流程测试

JUnit4 学习感悟

如何将JUnit 4测试添加到JUnit 3测试套件中

JUnit4 学习笔记

Junit4学习

JUnit4 学习笔记