@toc 概念 测试分类: 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。 白盒测试:需要写代码的。关注程序具体的执行流程。 JUnit 是一个 Java 编程语言的单元测试
@toc
概念
测试分类:
- 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。
- 白盒测试:需要写代码的。关注程序具体的执行流程。
JUnit 是一个 Java 编程语言的单元测试框架。JUnit 在测试驱动的开发方面有很重要的发展,是起源于 JUnit 的一个统称为 xUnit 的单元测试框架之一。
使用
引入坐标
<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13.1</version> </dependency>测试步骤
- 测试类名:被测试的类名Test CalculatorTest
- 包名:xxx.xxx.xx.test com.zjq.test
- 方法名:test测试的方法名 testAdd()
- 返回值:void
- 参数列表:空参
案例:
/** * 测试add方法 */ @Test public void testAdd(){ // System.out.println("我被执行了"); //1.创建计算器对象 System.out.println("testAdd..."); Calculator c = new Calculator(); //2.调用add方法 int result = c.add(1, 2); System.out.println(result); //3.断言 我断言这个结果是3 Assert.assertEquals(3,result); }判定结果
红色:失败绿色:成功一般我们会使用断言操作来处理结果
org.junit.Assert常用方法
assertEquals ( [String message] , expected , actual )
参数说明:
- message是个可选的消息,假如提供,将会在发生错误时报告这个消息。
- expected是期望值,通常都是用户指定的内容。
- actual是被测试的代码返回的实际值。
案例:
Assert.assertEquals("比对失败,请检查","1","1");assertEquals( [String message] , expected , actual , tolerance )
参数说明:
- message是个可选的消息,假如提供,将会在发生错误时报告这个消息。
- expected是期望值,通常都是用户指定的内容。
- actual是被测试的代码返回的实际值。
- tolerance是误差参数,参加比较的两个浮点数在这个误差之内则会被认为是 相等的。
案例:
Assert.assertEquals ("超过误差,请检查",6.6,10.0/2.0,0.5);assertTrue ( [String message] ,Boolean condition)
参数说明:
- message是个可选的消息,假如提供,将会在发生错误时报告这个消息。
- condition是待验证的布尔型值。
该断言用来验证给定的布尔型值是否为真,假如结果为假,则验证失败。
assertFalse ( [String message] , Boolean condition )
该断言用来验证给定的布尔型值是否为假,假如结果为真,则验证失败。
Assert.assertTrue("假的!假的!",1==2); Assert.assertFalse("false",2==1);assertNull ( [String message] , Object object )
参数说明: message是个可选的消息,假如提供,将会在发生错误时报告这个消息。 object是待验证的对象。 该断言用来验证给定的对象是否为null,假如不为null,则验证失败。相应地,还存在能够验证非null的断言:
assertNotNull([String message],Object object)
该断言用来验证给定的对象是否为非null,假如为null,则验证失败。 案例:
Assert.assertNull("null",null); Assert.assertNotNull("not null",new String());扩展
@Before:
-
修饰的方法会在测试方法之前被自动执行
/** * 初始化方法: * 用于资源申请,所有测试方法在执行之前都会先执行该方法 */ @Before public void init(){ System.out.println("init..."); }@After:
- 修饰的方法会在测试方法执行之后自动被执行
/**
* 释放资源方法:
* 在所有测试方法执行完后,都会自动执行该方法
*/
@After
public void close(){
System.out.println("close...");
}
本文内容到此结束了, 如有收获欢迎点赞