二、Java核心技术(进阶)-JUnit
创始人
2025-05-28 18:46:39

一、概念

白盒测试:白盒测试又叫单元测试,针对函数的测试。全面了解程序内部逻辑结构,对所有的逻辑路径都进行测试,一般为开发人员对函数的测试 ,了解数据流向,哪个情况走IF,哪个情况走else;

黑盒测试:黑盒测试又叫功能测试(集成测试),针对功能的测试。不了解具体功能组成的测试行为,一般为产品经理对整个功能验收的测试。检查程序功能是否按照需求规格说明书的规定正常使用。

回归测试:修改旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。

二、分类

手动测试:基于main函数,编写测试样例,手动执行程序,手动检查程序结果是否满足预期要求的测试;

 

自动测试:用测试程序批量、反复测试功能程序,并可自动检查功能程序输出结果是否满足预期要求。

三、JUnit

1、maven添加依赖(pom.xml)

junitjunit4.12test

2、idea安装插件

3、修改默认及输出路径

输出路径:${SOURCEPATH}/../../test/java/${PACKAGE}/${FILENAME}

4、编写测试类模板

5、 编写样例


// src/main/java/Triangle.java
public class Triangle {public boolean judgeEquals(int a, int b, int c){if(a <= 0 || b <= 0 || c <=0 )return false;//两边之和小于第三边if(a+b <= c || a+c <= b || b+c <= a ){return false;}return true;}
}

6、生成对应测试类

 

import junit.framework.TestCase;
// static 引用Assert的静态方法
import static org.junit.Assert.*;
/*** @author: Shism* @Date: Created in 13:44 2023/3/15* @Description:**/
public class TriangleTest extends TestCase {public void testJudgeEquals() {Triangle triangle = new Triangle();//参数1为参数2的预期结果,不同抛出异常assertEquals(false, triangle.judgeEquals(-1,2,3));// import static 引用Assert的静态方法 相当于下句//Assert.assertEquals(false, triangle.judgeEquals(1,2,3));}
}

7、单测试结果

 修改函数为错误

测试:

 8、多测试类测试

9、多测试样例测试1

 

 9、偏僻概念

一个测试类中只能声明此注解一次,此注解对应的方法只能被执行一次
@BeforeClass 使用此注解的方法在测试类被调用之前执行
@AfterClass 使用此注解的方法在测试类被调用结束退出之前执行
一个类中有多少个@Test注解方法,以下对应注解方法就被调用多少次

@Before 在每个@Test调用之前执行
@After 在每个@Test调用之后执行
@Test 使用此注解的方法为一个单元测试用例,一个测试类中可多次声明,每个注解为@Test只执行一次
@Ignore 暂不执行的测试用例,会被JUnit4忽略执行

相关内容

热门资讯

初一暑假英语日记带翻译 初一暑假英语日记带翻译(通用33篇)  时间如快马般匆匆,一天又过去了,今天一定有不少的收获吧,需要...
互相帮助的英文作文 互相帮助的英文作文  人们互相帮助,这是世界上最伟大的事情。我们应该把我们的爱给那些需要帮助的人。以...
父亲节的英语作文【最新6篇】 Father's Day: A Special Day to Express Our Love an...
划船英语作文带翻译【实用3篇... 划船英语作文带翻译 篇一Title: Rowing - A Journey of Adventure...
中国经济系列专题片《巨轮永向前... 当前,世界百年变局加速演进,全球科技创新风起云涌,新一轮科技革命和产业变革正在重构全球创新版图、重塑...