1、搭建junit环境
我们可以使用IDEA创建maven工程来搭建junit环境,这样做无疑是方便的。步骤如下:
- 在已有工程创建一个新的模块
- 点击Create from archeType,选择quickStart
- 点击下一个,写上坐标和项目名
- 点击下一个,选择本地的maven和配置文件和仓库
- 点击下一个,再点击OK就好了
- 打开模块的pom文件,添加junit的依赖,如此便搭建好junit的环境了。
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
2、创建目录结构
如果main包下的java包没有变蓝色,test包下的java包没有变绿色,那么右击该包,选择标记为源码和测试源。
3、junit实战
3.1、创建类
创建一个Calculator类,用于做测试用
package com.lrm;
/**
* @author RuiMing Lin
* @date 2020-03-19 15:47
*/
public class Calculator {
/**
* 定义一个加法器
* @param arr
* @return sum
*/
public int add(int... arr){
int sum = 0;
for (int i : arr) {
sum += i;
}
return sum;
}
/**
* 定义一个减法器
* @param a
* @param b
* @return a - b
*/
public int sub(int a,int b){
return a - b;
}
}
创建一个测试类CalculatorTest:
3.2、test()
使用test(),我们就不用每次都要使用main()了
package com.lrm;
import org.junit.Test;
/**
* @author RuiMing Lin
* @date 2020-03-19 15:51
*/
public class CalcalatorTest {
@Test
public void testAdd(){
// 测试加法器是否可以正常使用
Calculator calculator = new Calculator();
int sum = calculator.add(1, 2, 3, 4, 5, 6, 7);
System.out.println("sum = " + sum);
}
}
如果没有出错,就会出现test passed:
我们故意把代码写错,看看结果:
3.3、before()和after()
before()和after()是分别在test()执行之前和之后执行的方法,before()通常用于进行初始化,after()通常用于关闭资源。
package com.lrm;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
/**
* @author RuiMing Lin
* @date 2020-03-19 15:51
*/
public class CalcalatorTest {
FileInputStream fis;
FileOutputStream fos;
@Before
// 对fis和fos进行初始化
public void init() throws FileNotFoundException {
fis = new FileInputStream("fis.txt");
fos = new FileOutputStream("fos.txt");
}
@Test
public void test(){
try {
int b;
byte[] bytes = new byte[32];
while ((b = fis.read(bytes)) != -1){
fos.write(bytes,0,b);
}
} catch (IOException e) {
e.printStackTrace();
}
}
@After
public void close() throws IOException{
fis.close();
fos.close();
}
}
有错误的地方敬请指出!觉得写得可以的话麻烦给个赞!欢迎大家评论区或者私信交流!