📜  JUnit教程(1)

📅  最后修改于: 2023-12-03 14:43:37.179000             🧑  作者: Mango

JUnit教程

JUnit是Java编程语言的单元测试框架之一。它由Kent Beck和Erich Gamma创建,并在Apache许可证下发布。JUnit是JUnit软件基金会(Software Freedom Conservancy)的一部分。JUnit4是最新的版本,它可用于Java 5.0及更高版本。本教程将通过示例和练习介绍JUnit4的特点和用法。

安装

要使用JUnit,需将其添加到Java项目中。最简单的方法是使用Build Tool(例如Maven或Gradle),使用以下依赖项:

<!-- JUnit 4.12 -->
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
    <scope>test</scope>
</dependency>

或者,如果您想手动安装JUnit4,可以从http://junit.org下载JAR文件并将其导入项目。

编写测试用例

测试用例类是JUnit测试的基本单元,可使用@Test注释标记要测试的方法。例如:

import static org.junit.Assert.assertEquals;
import org.junit.Test;

public class MyTest {
 
   @Test
   public void testAdd() {
      String str= "JUnit is working fine";
      assertEquals("JUnit is working fine",str);
   }
}

您可以执行此测试方法并检查结果是否为“通过”。

断言

JUnit使用断言(Assertions)来验证代码是否按预期工作。检查是否等于,检查数组是否相等,检查null等示例:

import static org.junit.Assert.assertEquals;   
import static org.junit.Assert.assertTrue;    
import org.junit.Test;
 
public class MyTest {
 
   String message = "Hello World";
   MessageUtil messageUtil = new MessageUtil(message);
  
   @Test
   public void testPrintMessage() {
      assertEquals(message,messageUtil.printMessage());
   }
 
   @Test
   public void testBoolean() {
      assertTrue(messageUtil.isTrue());
   }
 
   @Test
   public void testArray() {
      int[] arr = {1,2,3};
      assertArrayEquals(arr, arr);
   }
}
指定测试顺序

在JUnit中,每个测试方法默认以随机顺序运行。但可能需要控制测试方法的顺序。为此,可以使用@FixMethodOrder注释,它接受一个枚举类型:MethodSorters。

import org.junit.Test;
import org.junit.runners.MethodSorters;
import org.junit.FixMethodOrder;
 
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
public class MyTest {
  
   @Test
   public void testB() {
      System.out.println("B");
   }
 
   @Test
   public void testA() {
      System.out.println("A");
   }
 
   @Test
   public void testC() {
      System.out.println("C");
   }
}

在上面的示例中,测试B将在A和C之前运行。

总结

JUnit是一种非常流行的Java单元测试框架,它已成为Java开发人员测试代码的必要工具之一。框架可用于测试基于Java编程语言编写的所有应用程序。 使用本教程中的信息,您应该能够开始使用JUnit并为项目编写测试用例。