文章目录
- 测试分类
- Junit 使用步骤
- 测试结果的判定
- 常用的注解
- @Before
- @After
测试分类
黑盒测试:不需要写代码,不需要关注程序执行具体逻辑和流程,给输入值,看程序是否能够输出期望的值
白盒测试:需要写代码,需要关注程序执行的具体逻辑、流程、性能等技术细节
Junit 属于白盒测试
Junit 使用步骤
1.定义一个测试类(测试用例)
规范建议:
测试类命名:功能名称或者类名 + Test
包命名:xxx.xxx.xxx.test
2.定义测试方法
规范建议:
方法名:test + 被测试的方法名
返回值:void
参数列表:空参
3.给方法加上注解 @Test
4.添加Junit的依赖环境
添加 Junit 依赖环境前,输入@Test 注解会报错,点击红色灯泡或者按下组合键 Option + Enter ,如下图所示,选择将 Junit4 添加到类路径中
测试结果的判定
使用断言操作,例如,测试方法 add(int a, int b),传入参数 1,2,期望的输出结果是 3,即我断言这个结果是 3,所以可以将断言的结果和实际方法返回的值做对比,如果相同则测试通过(结果会显示绿色),如果不同则测试不通过(结果会显示红色)。
可以使用 Assert 的静态方法 public static void assertEquals(long expected, long actual)
,进行断言相等比较
示例代码:
package priv.lwx.javaprac.test;import org.junit.Assert;
import org.junit.Test;
import priv.lwx.javaprac.junit.Calculator;/*** @Author liaowenxiong* @Version* @date 2021/9/14 下午5:28*/
public class CalculatorTest {/*** 测试add方法*/@Testpublic void testAdd() {// 创建Calculator对象Calculator c = new Calculator();// 调用add方法int result = c.add(3, 5);// System.out.println(result);// 测试时通常情况下不要输出// 使用断言,和真实的结果对比,相同则测试通过(会显示绿色),不同则测试不通过(会显示红色)Assert.assertEquals(8,result);}/*** 测试sub方法*/@Testpublic void testSub() {// 创建Calculator对象Calculator c = new Calculator();int result = c.sub(1, 2);// 使用断言相等比较Assert.assertEquals(-1, result);}
}
断言相等比较,如果预期的值和实际返回的值不相等,会看到如下的输出结果:
常用的注解
@Before
在所有测试方法执行前都会先执行 @Before
注解的方法。
@After
在所有测试方法执行后都会自动执行 @After
注解的方法。
注意:测试方法报错,也会自动执行 @After
注解的方法。