本文纲要单元测试概述JUnit简介与特点JUnit基本使用步骤代码实践一基本使用与异常测试核心注解Before、Test、After代码实践二测试执行顺序总结单元测试概述在传统的Java开发中我们常常等所有代码编写完成后才在main方法中手工调用各个方法进行验证。这种方式存在明显弊端问题发现不及时代码量一大定位bug变得困难。测试代码分散需要反复修改main方法才能测试不同的功能。为了更优雅、高效地进行代码测试我们可以使用单元测试框架——JUnit。它允许我们对每一个独立的代码单元如一个方法编写测试并一键运行即时获得反馈。是否否是传统方式写完所有代码在main中手动调用发现问题?修改源码或main继续其他测试单元测试方式编写部分代码编写对应的测试方法运行JUnit测试绿色通过?立即修复对应模块继续下一个模块JUnit简介与特点JUnit是Java语言中最受欢迎的单元测试工具之一开源、简洁、强大。特点说明开源开放源代码社区活跃注解驱动使用Test等注解标识测试方法无需手动调用提升效率与质量编写测试快及时反馈显著提高代码质量简洁优雅学习成本低使用简单可视化结果运行结果以绿色表示通过红色表示失败一目了然JUnit基本使用步骤使用JUnit进行单元测试只需四步1 导入JUnit包JUnit属于第三方库需将jar文件如junit-4.9.jar添加到项目的Library中。2 ) 编写测试方法方法必须满足public修饰、无返回值、无参数、非静态。例如publicvoidadd(){...}3 ) 添加Test注解在需要测试的方法上方添加Test注解JUnit就会识别并运行它。4 ) 运行测试在IDE中右键点击测试方法选择“Run as JUnit Test”即可查看结果。若方法执行顺利进度条显示绿色若出现异常如除零则显示红色并提示失败原因。代码实践一基本使用与异常测试项目结构myjunit/ ├── lib/ │ └── junit-4.9.jar └── src/ └── com/ └── wb/ └── junitdemo1/ ├── JunitDemo1.java └── JunitDemo2.java演示代码JunitDemo1.java该示例演示了一个带有除零异常的测试方法用于展示JUnit的失败反馈。packagecom.wb.junitdemo1;importorg.junit.Test;publicclassJunitDemo1{// 普通的 main 方法未被测试框架使用publicstaticvoidmain(String[]args){// 传统方式在这里调用方法进行测试}Testpublicvoidadd(){// 故意制造除零异常JUnit 将捕获并报告失败System.out.println(2/0);// 此处抛出 ArithmeticException// 下面代码不会被执行因为异常已经导致方法终止inta10;intb20;intsumab;System.out.println(sum);}}运行分析执行add()时2 / 0会抛出ArithmeticException。JUnit捕捉到异常将测试标记为失败界面显示红色。这直观地展示了JUnit对异常情况的处理一旦失败立即报告。补充演示若将add()中的除零语句移除仅保留求和逻辑再次运行测试将看到绿色通过的效果。这里原始代码同时包含异常与正常逻辑目的是演示失败状态的输出读者可自行调整体验。核心注解Before、Test、AfterJUnit 4提供了几个常用注解来管理测试生命周期注解含义执行时机Test标记一个测试方法作为测试方法运行Before初始化方法在每个Test方法运行之前执行After清理方法在每个Test方法运行之后执行这些注解帮助我们将准备与清理逻辑与测试逻辑分离提高代码复用性。执行顺序可以用下图表示AfterTestBeforeJUnitAfterTestBeforeJUnit执行 Before 方法初始化完成执行 Test 方法测试逻辑完成执行 After 方法清理完成代码实践二测试执行顺序JunitDemo2.javapackagecom.wb.junitdemo1;importorg.junit.After;importorg.junit.Before;importorg.junit.Test;publicclassJunitDemo2{Beforepublicvoidbefore(){System.out.println(before);}Testpublicvoidtest(){System.out.println(test);}Afterpublicvoidafter(){System.out.println(after);}}运行结果当右键运行test()方法时控制台输出顺序为before test after分析Before修饰的before()方法先执行用于测试前的准备例如初始化数据。然后执行Test修饰的test()也就是真正的测试逻辑。最后After修饰的after()方法执行可用于释放资源或恢复状态。即使测试方法抛出异常After方法依然会执行保证清理动作的可靠性。总结通过本文我们认识了JUnit这一强大的单元测试框架并实践了其基本使用方式以及核心注解Test、Before和After。在Java开发中尽早引入单元测试能够大幅提高代码质量和可维护性建议大家在日常编码中养成“写完一部分测试一部分”的习惯。
Java基础快速入门:JUnit单元测试入门
发布时间:2026/7/4 4:15:26
本文纲要单元测试概述JUnit简介与特点JUnit基本使用步骤代码实践一基本使用与异常测试核心注解Before、Test、After代码实践二测试执行顺序总结单元测试概述在传统的Java开发中我们常常等所有代码编写完成后才在main方法中手工调用各个方法进行验证。这种方式存在明显弊端问题发现不及时代码量一大定位bug变得困难。测试代码分散需要反复修改main方法才能测试不同的功能。为了更优雅、高效地进行代码测试我们可以使用单元测试框架——JUnit。它允许我们对每一个独立的代码单元如一个方法编写测试并一键运行即时获得反馈。是否否是传统方式写完所有代码在main中手动调用发现问题?修改源码或main继续其他测试单元测试方式编写部分代码编写对应的测试方法运行JUnit测试绿色通过?立即修复对应模块继续下一个模块JUnit简介与特点JUnit是Java语言中最受欢迎的单元测试工具之一开源、简洁、强大。特点说明开源开放源代码社区活跃注解驱动使用Test等注解标识测试方法无需手动调用提升效率与质量编写测试快及时反馈显著提高代码质量简洁优雅学习成本低使用简单可视化结果运行结果以绿色表示通过红色表示失败一目了然JUnit基本使用步骤使用JUnit进行单元测试只需四步1 导入JUnit包JUnit属于第三方库需将jar文件如junit-4.9.jar添加到项目的Library中。2 ) 编写测试方法方法必须满足public修饰、无返回值、无参数、非静态。例如publicvoidadd(){...}3 ) 添加Test注解在需要测试的方法上方添加Test注解JUnit就会识别并运行它。4 ) 运行测试在IDE中右键点击测试方法选择“Run as JUnit Test”即可查看结果。若方法执行顺利进度条显示绿色若出现异常如除零则显示红色并提示失败原因。代码实践一基本使用与异常测试项目结构myjunit/ ├── lib/ │ └── junit-4.9.jar └── src/ └── com/ └── wb/ └── junitdemo1/ ├── JunitDemo1.java └── JunitDemo2.java演示代码JunitDemo1.java该示例演示了一个带有除零异常的测试方法用于展示JUnit的失败反馈。packagecom.wb.junitdemo1;importorg.junit.Test;publicclassJunitDemo1{// 普通的 main 方法未被测试框架使用publicstaticvoidmain(String[]args){// 传统方式在这里调用方法进行测试}Testpublicvoidadd(){// 故意制造除零异常JUnit 将捕获并报告失败System.out.println(2/0);// 此处抛出 ArithmeticException// 下面代码不会被执行因为异常已经导致方法终止inta10;intb20;intsumab;System.out.println(sum);}}运行分析执行add()时2 / 0会抛出ArithmeticException。JUnit捕捉到异常将测试标记为失败界面显示红色。这直观地展示了JUnit对异常情况的处理一旦失败立即报告。补充演示若将add()中的除零语句移除仅保留求和逻辑再次运行测试将看到绿色通过的效果。这里原始代码同时包含异常与正常逻辑目的是演示失败状态的输出读者可自行调整体验。核心注解Before、Test、AfterJUnit 4提供了几个常用注解来管理测试生命周期注解含义执行时机Test标记一个测试方法作为测试方法运行Before初始化方法在每个Test方法运行之前执行After清理方法在每个Test方法运行之后执行这些注解帮助我们将准备与清理逻辑与测试逻辑分离提高代码复用性。执行顺序可以用下图表示AfterTestBeforeJUnitAfterTestBeforeJUnit执行 Before 方法初始化完成执行 Test 方法测试逻辑完成执行 After 方法清理完成代码实践二测试执行顺序JunitDemo2.javapackagecom.wb.junitdemo1;importorg.junit.After;importorg.junit.Before;importorg.junit.Test;publicclassJunitDemo2{Beforepublicvoidbefore(){System.out.println(before);}Testpublicvoidtest(){System.out.println(test);}Afterpublicvoidafter(){System.out.println(after);}}运行结果当右键运行test()方法时控制台输出顺序为before test after分析Before修饰的before()方法先执行用于测试前的准备例如初始化数据。然后执行Test修饰的test()也就是真正的测试逻辑。最后After修饰的after()方法执行可用于释放资源或恢复状态。即使测试方法抛出异常After方法依然会执行保证清理动作的可靠性。总结通过本文我们认识了JUnit这一强大的单元测试框架并实践了其基本使用方式以及核心注解Test、Before和After。在Java开发中尽早引入单元测试能够大幅提高代码质量和可维护性建议大家在日常编码中养成“写完一部分测试一部分”的习惯。