JUnit test case example in Java

2025年5月2日 | 阅读3分钟

我们已经熟悉了 JUnit 测试框架。它用于在 Java 中执行单元测试。JUnit 测试用例是一组代码,用于确保我们的程序代码是否按预期工作。JUnit 是 Java 中一个广泛使用的测试框架,它允许开发人员为其代码编写和运行测试。它有助于确保代码的正确性,提高可靠性,并有助于随着时间的推移维护代码质量。

Java 中,有两种可能的单元测试:手动测试和自动化测试。手动测试是一种特殊的测试类型,其中测试用例的执行不使用任何工具。与手动测试不同,自动化测试没有支持的工具就无法进行。

org.junit 包提供了几个类和包,它们有助于我们确保代码是否提供预期的输出。这些包和类包括 Assert、After、Before 和 Test 等。

JUnit test case example in Java

我们将使用 eclipse 工具来测试 java 代码。我们首先创建要测试的 Java 代码,然后为我们的 Java 代码编写测试类或测试用例。

让我们以 JUnit 测试用例为例,了解 Java 中实际是如何进行测试的。

测试生命周期方法

JUnit 提供了注解来定义在每次测试之前和之后运行的方法,以及在类中所有测试之前和之后运行的方法。这些对于设置和拆除资源很有用。

@BeforeEach:在每次测试之前运行。

@AfterEach:在每次测试之后运行。

@BeforeAll:在类中所有测试之前只运行一次。

@AfterAll:在类中所有测试之后只运行一次。

JunitTestCaseExample.java

TestJunitTestCaseExample.java

测试用例中发生的事情:

  • @Test:此注解标识该方法为测试方法。
  • assertEquals(expected, actual, message):此断言检查预期结果是否与实际结果匹配。如果不匹配,它将抛出带有给定消息的 AssertionError。

TestRunner.java

输出

JUnit test case example in Java

解释

我们创建了三个 java 类,即 JunitTestCaseExample.java、TestJunitTestCaseExample.javaTestRunner.java。在 JunitTestCaseExample.java 类中,我们创建了要测试的代码。在此类中,我们创建一个名称列表,并创建四个方法来添加元素、删除元素、获取列表大小以及从列表中删除所有元素。

TestJunitTestCaseExample.java 中,我们为 JunitTestCaseEample.java 类编写了测试用例。我们创建了 JunitTestCaseExample.java 类的对象,并通过其对象来测试其所有方法。我们使用 assertEquals() 方法将实际结果与预期输出进行比较。

我们创建了 TestRunner.java 类来执行测试用例。它包含 main() 方法,我们在其中使用 JUnitCore 的 runClasses() 方法运行 TestJunitTestCaseExample.java 类。runClasses() 方法返回的结果将存储在 Result 类型的 result 变量中。

现在,我们将运行 TestRunner.java 类来执行测试用例。当测试用例通过时,我们将得到 true 输出;当测试用例未通过时,我们将得到 false 输出。

JUnit 是确保您的 Java 代码正常工作的强大工具。通过编写测试用例,您可以及早发现 bug,简化维护,并提高代码的可靠性。本节涵盖了 JUnit 的设置、编写简单测试用例、测试异常、使用参数化测试以及利用测试生命周期方法的基础知识。有了这些工具,我们就可以开始为 Java 应用程序编写有效的测试了。