Junit
Junit是一个比较小巧的单元测试用工具,它可以在不使用主方法的情况下使得程序可以以方法为单位进行测试。
一、Junit概述
- 测试的分类:
- 黑盒测试:封装代码,只显示输入和输出。通过比较实际的输出和预想的输出从而得到软件或者程序是否正确
- 白盒测试:不封装代码,看过程和流程,思考代码是否高效,一般写代码。Junit测试属于白盒测试的一种。
二、 Junit的使用步骤
- 使用之前首先要导包(导入maven依赖):
<!-- https://mvnrepository.com/artifact/junit/junit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
- 定义一个测试类(测试用例)
- 测试类名: 类名Test
- 包名:xxx.xxx.xx.test 将测试类单独放在一个包之下
- 定义一个测试方法(可以独立运行)
- 方法名:test方法名
- 返回值:void
- 参数列表:空参
- 给方法加上注解@Test
- 【注意】:使用Junit单元测试的时候,看的是颜色
- 红色代表出错
- 绿色代表正常
- 一般我们使用断言来进行结果的处理
- Assert.assertEquals(期待值, 真实值);
package com.zhang.test;
import com.zhang.junit.Calculator;
import org.junit.Assert;
import org.junit.Test;
public class CalculatorTest {
// 测试add方法
@Test
public void testAdd(){
// 创建对象
Calculator calculator = new Calculator();
// 测试方法
int result = calculator.add(1 , 2);
// System.out.println(result);
/**因为输出不能0检测出代码的错误(想要的因为代码逻辑无法实现)
* 所以我们用断言Assert和真实的结果进行比对*/
Assert.assertEquals(3 , result); // 断言成功
// Assert.assertEquals(4,result); // 断言失败
}
// 测试sub方法
@Test
public void testSub(){
Calculator calculator = new Calculator();
int result = calculator.sub(2 , 1);
System.out.println(result);
}
}
三、Junit的其他注解
- @Before
- 在所有测试方法被执行之前执行,一般用来申请资源
- 所有的测试方法都会执行
- @After
- 在所有测试方法被执行之后执行,一般用来释放资源
- 所有的测试方法都会执行
- 即使出现了异常,也不会影响该方法的执行
package com.zhang.test;
import com.zhang.junit.Calculator;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
public class CalculatorTest {
// 在测试方法被执行之前自动执行,一般用来申请资源
@Before
public void init(){
System.out.println("init...");
}
// 在所有测试方法被执行完成之后都会执行该方法,一般用来释放资源
// 即使出现了异常,也会执行该方法
@After
public void close(){
System.out.println("close");
}
// 测试add方法
@Test
public void testAdd(){
// 创建对象
Calculator calculator = new Calculator();
// 测试方法
int result = calculator.add(1 , 2);
// System.out.println(result);
/**因为输出不能0检测出代码的错误(想要的因为代码逻辑无法实现)
* 所以我们用断言Assert和真实的结果进行比对*/
Assert.assertEquals(3 , result); // 断言成功
// Assert.assertEquals(4,result); // 断言失败
}
// 测试sub方法
@Test
public void testSub(){
Calculator calculator = new Calculator();
int result = calculator.sub(2 , 1);
System.out.println(result);
}
}
Junit
Junit是一个比较小巧的单元测试用工具,它可以在不使用主方法的情况下使得程序可以以方法为单位进行测试。
一、Junit概述
- 测试的分类:
- 黑盒测试:封装代码,只显示输入和输出。通过比较实际的输出和预想的输出从而得到软件或者程序是否正确
- 白盒测试:不封装代码,看过程和流程,思考代码是否高效,一般写代码。Junit测试属于白盒测试的一种。
二、 Junit的使用步骤
- 使用之前首先要导包(导入maven依赖):
<!-- https://mvnrepository.com/artifact/junit/junit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
- 定义一个测试类(测试用例)
- 测试类名: 类名Test
- 包名:xxx.xxx.xx.test 将测试类单独放在一个包之下
- 定义一个测试方法(可以独立运行)
- 方法名:test方法名
- 返回值:void
- 参数列表:空参
- 给方法加上注解@Test
- 【注意】:使用Junit单元测试的时候,看的是颜色
- 红色代表出错
- 绿色代表正常
- 一般我们使用断言来进行结果的处理
- Assert.assertEquals(期待值, 真实值);
package com.zhang.test;
import com.zhang.junit.Calculator;
import org.junit.Assert;
import org.junit.Test;
public class CalculatorTest {
// 测试add方法
@Test
public void testAdd(){
// 创建对象
Calculator calculator = new Calculator();
// 测试方法
int result = calculator.add(1 , 2);
// System.out.println(result);
/**因为输出不能0检测出代码的错误(想要的因为代码逻辑无法实现)
* 所以我们用断言Assert和真实的结果进行比对*/
Assert.assertEquals(3 , result); // 断言成功
// Assert.assertEquals(4,result); // 断言失败
}
// 测试sub方法
@Test
public void testSub(){
Calculator calculator = new Calculator();
int result = calculator.sub(2 , 1);
System.out.println(result);
}
}
三、Junit的其他注解
- @Before
- 在所有测试方法被执行之前执行,一般用来申请资源
- 所有的测试方法都会执行
- @After
- 在所有测试方法被执行之后执行,一般用来释放资源
- 所有的测试方法都会执行
- 即使出现了异常,也不会影响该方法的执行
package com.zhang.test;
import com.zhang.junit.Calculator;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
public class CalculatorTest {
// 在测试方法被执行之前自动执行,一般用来申请资源
@Before
public void init(){
System.out.println("init...");
}
// 在所有测试方法被执行完成之后都会执行该方法,一般用来释放资源
// 即使出现了异常,也会执行该方法
@After
public void close(){
System.out.println("close");
}
// 测试add方法
@Test
public void testAdd(){
// 创建对象
Calculator calculator = new Calculator();
// 测试方法
int result = calculator.add(1 , 2);
// System.out.println(result);
/**因为输出不能0检测出代码的错误(想要的因为代码逻辑无法实现)
* 所以我们用断言Assert和真实的结果进行比对*/
Assert.assertEquals(3 , result); // 断言成功
// Assert.assertEquals(4,result); // 断言失败
}
// 测试sub方法
@Test
public void testSub(){
Calculator calculator = new Calculator();
int result = calculator.sub(2 , 1);
System.out.println(result);
}
}