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 反馈 — 无需本地设置。
此课程中的所有课时
- 单元测试入门
- JUnit 5 基本注解
- JUnit 断言与执行
- 使用 @DisplayName 与嵌套组织测试