找回密码
 立即注册
查看: 557|回复: 0

[其它] JUnit 单元测试 基础学习教程

[复制链接]

279

主题

0

回帖

964

积分

超级版主

积分
964
发表于 2024-7-12 15:34:02 | 显示全部楼层 |阅读模式
本帖最后由 Shaw0xyz 于 2024-7-13 16:16 编辑

1. 引言

单元测试是软件开发过程中非常重要的一环。它能够确保每一小段代码按预期工作,防止错误的传播。在java中,JUnit是最常用的单元测试框架。本教程将带你了解JUnit的基本用法,帮助你掌握单元测试的基本技能。

1.1 JUnit简介

JUnit是一个开源的Java单元测试框架,主要用于测试方法的行为是否符合预期。它提供了一组注解和断言方法,帮助开发者方便地编写和运行测试用例。

1.2 JUnit环境配置

在开始编写JUnit测试之前,我们需要先配置开发环境。以下步骤将指导你如何在项目中添加JUnit依赖。

(1) 如果你使用的是Maven构建工具,可以在pom.xml文件中添加以下依赖:

  1.     <dependency>
  2.         <groupId>junit</groupId>
  3.         <artifactId>junit</artifactId>
  4.         <version>4.13.2</version>
  5.         <scope>test</scope>
  6.     </dependency>
复制代码


(2) 如果你使用的是Gradle构建工具,可以在build.gradle文件中添加以下依赖:

  1.     testImplementation 'junit:junit:4.13.2'
复制代码


1.3 JUnit注解

JUnit提供了一组注解用于标识测试方法和生命周期方法。常用的注解如下:

(1) @Test:标识一个测试方法。

(2) @Before:在每个测试方法执行前执行。

(3) @After:在每个测试方法执行后执行。

(4) @BeforeClass:在所有测试方法执行前执行,仅执行一次。

(5) @AfterClass:在所有测试方法执行后执行,仅执行一次。

(6) @Ignore:忽略某个测试方法。

2. 编写第一个JUnit测试

接下来,我们将编写一个简单的JUnit测试来演示基本用法。

2.1 创建被测试类

首先,我们需要创建一个被测试的类。假设我们有一个简单的Calculator类,包含加法和减法方法。

  1.     public class Calculator {
  2.         public int add(int a, int b) {
  3.             return a + b;
  4.         }

  5.         public int subtract(int a, int b) {
  6.             return a - b;
  7.         }
  8.     }
复制代码


2.2 编写测试类

接着,我们为Calculator类编写测试类。测试类中包含针对add和subtract方法的测试用例。

  1.     import org.junit.Before;
  2.     import org.junit.Test;
  3.     import static org.junit.Assert.*;

  4.     public class CalculatorTest {
  5.         private Calculator calculator;

  6.         @Before
  7.         public void setUp() {
  8.             calculator = new Calculator();
  9.         }

  10.         @Test
  11.         public void testAdd() {
  12.             assertEquals(5, calculator.add(2, 3));
  13.         }

  14.         @Test
  15.         public void testSubtract() {
  16.             assertEquals(1, calculator.subtract(3, 2));
  17.         }
  18.     }
复制代码


3. 运行JUnit测试

运行JUnit测试有多种方式。你可以使用IDE内置的JUnit运行器,或者使用Maven或Gradle命令来运行测试。

3.1 使用IDE运行

大多数Java IDE(如Eclipse、IntelliJ IDEA)都内置了JUnit运行器。你只需右键点击测试类文件,然后选择“Run As -> JUnit Test”即可运行测试。

3.2 使用Maven运行

如果你使用Maven构建项目,可以在命令行中运行以下命令来执行测试:

  1.     mvn test
复制代码


3.3 使用Gradle运行

如果你使用Gradle构建项目,可以在命令行中运行以下命令来执行测试:

  1.     gradle test
复制代码


4. 断言与异常测试

在单元测试中,断言用于验证测试结果是否符合预期。JUnit提供了多种断言方法,常用的有assertEquals、assertTrue、assertFalse等。

4.1 断言示例

  1.     @Test
  2.     public void testAddition() {
  3.         assertEquals(4, calculator.add(2, 2));
  4.         assertTrue(calculator.add(1, 1) == 2);
  5.         assertFalse(calculator.add(1, 1) == 3);
  6.     }
复制代码


4.2 异常测试

有时,我们需要验证方法是否抛出了预期的异常。可以使用@Test注解的expected属性来实现。

  1.     @Test(expected = ArithmeticException.class)
  2.     public void testDivideByZero() {
  3.         calculator.divide(1, 0);
  4.     }
复制代码


5. 总结

本教程介绍了JUnit的基础知识,包括环境配置、注解使用、编写测试用例和运行测试等内容。通过掌握这些基本技能,你可以更有效地编写和维护单元测试,确保代码的质量和稳定性。









/ 荔枝学姐de课后专栏 /

Hi!这里是荔枝学姐~

欢迎来到我的课后专栏

自然语言学渣 NLP摆烂姐

热衷于技术写作 IT边角料

AIGC & Coding & linux ...

~互撩~ TG: @Shaw_0xyz
荔枝学姐爱吃荔枝!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系站长|Archiver|手机版|小黑屋|主机论坛

GMT+8, 2025-4-3 17:14 , Processed in 0.052728 second(s), 23 queries .

Powered by 主机论坛 HostSsss.Com

HostSsss.Com

快速回复 返回顶部 返回列表