0Pricing
Testing Mastery: JUnit, Mockito & Integration Tests · 课时

JUnit 断言与执行

学习使用 JUnit 的断言方法验证测试结果,并在集成开发环境中高效运行测试。

JUnit 断言与执行 是 CoddyKit 上的免费 Testing Mastery: JUnit, Mockito & Integration Tests 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Testing Mastery: JUnit, Mockito & Integration Tests 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Testing Mastery: JUnit, Mockito & Integration Tests 课程共包含 4 节课。

本课时的部分内容尚未翻译,以英文显示。

What are Assertions?

Assertions are the checks that decide pass or fail: they verify a condition is true, and if it isn’t, the test fails and flags the problem.

Checking for Equality

assertEquals() is the workhorse: pass it the expected value and the actual value, and the test passes only when they match.

`assertEquals` in Action

Here’s assertEquals verifying a sum: compare the expected result against what your method returns. Match means pass.

import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;

public class MathUtilsTest {

    // A simple method to test
    int add(int a, int b) {
        return a + b;
    }

    @Test
    void testAddMethod() {
        // Expected result: 5
        int expected = 5;
        // Actual result from our method
        int actual = add(2, 3);
        
        // Assert that expected and actual are the same
        assertEquals(expected, actual, "2 + 3 should be 5");
    }
}

Checking Boolean Conditions

To check logical outcomes, use assertTrue and assertFalse — they pass when the condition is true or false respectively.

`assertTrue` in Practice

Here assertTrue confirms a number is positive — a clean way to validate any boolean condition.

import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertTrue;

public class NumberCheckerTest {

    // A simple method to test
    boolean isPositive(int number) {
        return number > 0;
    }

    @Test
    void testIsPositive() {
        int num = 10;
        // Assert that num is positive
        assertTrue(isPositive(num), num + " should be positive");
    }
}

Handling Null Values

For null checks, use assertNotNull and assertNull — crucial for catching NullPointerExceptions before they bite.

`assertNotNull` Demo

Here assertNotNull and assertNull verify a lookup that returns a user or null when none is found.

import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertNull;

public class UserServiceTest {

    // Dummy method simulating fetching a user
    String getUserById(int id) {
        if (id == 1) {
            return "Alice"; // User found
        }
        return null; // User not found
    }

    @Test
    void testExistingUser() {
        String user = getUserById(1);
        assertNotNull(user, "User with ID 1 should exist");
    }

    @Test
    void testNonExistingUser() {
        String user = getUserById(99);
        assertNull(user, "User with ID 99 should not exist");
    }
}

Executing JUnit Tests

Running tests is easy: most IDEs have built-in JUnit support — right-click a class or method, hit Run, and read the results window.

Understanding Pass/Fail

Reading results is simple: green means all tests passed, red means an assertion failed and there’s likely a bug. Click a failure for details.

Assertion Challenge

Consider the following simple method and test. What will be the outcome of running this test?

import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;

public class SimpleCalculatorTest {
    int subtract(int a, int b) {
        return a - b;
    }

    @Test
    void testSubtract() {
        assertEquals(10, subtract(15, 5));
    }
}

Recap: Assertions & Execution

You can now validate code with JUnit assertions — assertEquals, assertTrue, assertNull and friends — and run tests right in your IDE.

常见问题解答

「JUnit 断言与执行」课时是免费的吗?

是的 — 「JUnit 断言与执行」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Testing Mastery: JUnit, Mockito & Integration Tests 课程的其余内容,请升级到 CoddyKit PRO。 Testing Mastery: JUnit, Mockito & Integration Tests 课程共包含 4 节课。

「JUnit 断言与执行」这节课中我会学到什么?

学习使用 JUnit 的断言方法验证测试结果,并在集成开发环境中高效运行测试。 你通过在浏览器中直接运行的动手代码来练习 Testing Mastery: JUnit, Mockito & Integration Tests,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Testing Mastery: JUnit, Mockito & Integration Tests 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Testing Mastery: JUnit, Mockito & Integration Tests 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。

「JUnit 断言与执行」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Testing Mastery: JUnit, Mockito & Integration Tests 课中编写并运行代码吗?

能。每节 Testing Mastery: JUnit, Mockito & Integration Tests 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 单元测试入门
  2. JUnit 5 基本注解
  3. JUnit 断言与执行
  4. 使用 @DisplayName 与嵌套组织测试
← 返回 Testing Mastery: JUnit, Mockito & Integration Tests