Junit——白盒测试
- 互联网
- 2025-09-04 01:27:01

Java单元测试框架,主要用于测试Java程序中的各个单元。
1.验证代码功能是否符合预期
2.及时 发现+修复 代码中的缺陷,提高代码质量
入门最早学习java,代码对不对,通过main 方法运行,观看结果是否符合预期。
package hello; public class ArithTestUtil{ public static void main(String[] args) { int result = add(1,2); System.out.println(result); } // 重载加法方法 - 两个整数加法 A public static int add(int i, int j) { return i+j; } // 重载加法方法 - 两个浮点数加法 B public static double add(double a, double b) { return a + b; } // 重载加法方法 - 三个整数加法 C public static int add(int a, int b, int c) { return a + b + c; } }但是问题来了,我的add方法 A 参数l两个,以后需要浮点方法B ,三个参数方法C ,怎么测试,
还是要写到main方法中,以后很多方法情况下 结果对不对要一一对应查看,肉眼久了不废了吗。这时候 使用junit 测试框架来进行测试工作
任何开发都是先导包 junit-4.9.jar【以后学到springboot才能解脱】
package hello; import org.junit.Test; import junit.framework.Assert; public class ArtichTestUtilTest{ @Test public void testAdd() { int result = ArithTestUtil.add(1, 2); Assert.assertEquals(result, 3); } @Test public void testAdd2() { int result = ArithTestUtil.add(1, 2,,3); Assert.assertEquals(result, 5); } @Test public void testAdd3() { doubleresult = ArithTestUtil.add(1.5, 2.3); Assert.assertEquals(result, 3.8); } }鼠标在方法上,右键运行对应的测试方法。在类上,可运行该类中所有的测试方法。
注意:运行成功显示绿色,失败显示红色 +提示你的代码 类名+ 错误的代码行号
eclipse 类似这样
idea 类似这样 图只是参考,实际测试时 数值 或调用方法随意写的
junit的好处对比前面所说,测试放到main方法中。用juint后,发现: 1.新增的测试,对原测试不影响
2.此时失败,会变化立马看出来结果\效果
相关注解 测试类:使用 @Test 注解标记的类。测试方法:使用 @Test 注解标记的方法,用于执行具体的测试。断言:使用 JUnit 提供的断言方法(如 assertEquals、assertTrue 等)来验证测试结果。========================================================================
@Test:标记测试方法。@Before 和 @After:分别在测试方法之前和之后执行操作。@BeforeEach 和 @AfterEach:分别在每个测试方法之前和之后执行操作。 JUnit 5@BeforeAll 和 @AfterAll:分别在所有测试方法之前和之后执行操作。 JUnit 5@BeforeClass 必须是 static 方法 / /只在所有测试方法之前执行一次会发现有的注解 的作用一样啊。包不一样,列出说明学会一种,另一种方法调用照葫芦画瓢即可。
TestSuite之前案例中只有一个 测试类 ArtichTestUtilTest。往后多测试类如 Test1,Test2 ...,开发者手动去挨个点击执行 ,比较麻烦。
//在 JUnit 4 中,使用 @RunWith 和 @Suite.SuiteClasses 来定义测试套件 @RunWith(Suite.class) @Suite.SuiteClasses({TestClass1.class, TestClass2.class}) public class MyTestSuite { // 测试套件运行时,TestClass1 和 TestClass2 中的所有测试都会被执行 // MyTestSuite 本身不含任何测试方法,测试方法来自于 TestClass1 TestClass2 } //JUnit 5 中的 Test Suite 用法 @Suite @SelectClasses({TestClass1.class, TestClass2.class}) // 选择特定的测试类 public class MyTestSuite { // 这个类本身不包含任何测试方法,所有的测试都来自于 TestClass1 和 TestClass2 } @Suite @SelectPackages("com.hello.tests") // 选择整个包中的所有测试类 public class MyTestSuite { // 不需要测试方法,所有的测试都来自 com.hello.tests 包 } maven项目使用对比前面的独立jar包,现在maven里如何使用
1.pom.xml中加上引用包
<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13.2</version> <scope>test</scope> </dependency>2.同上
Junit——白盒测试由讯客互联互联网栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“Junit——白盒测试”