Unit Testing with JUnit & Mockito
Unit testing with JUnit 5, Mockito for mocks, assertions, @Mock, @InjectMocks, test doubles
1What is JUnit 5 Jupiter?
What is JUnit 5 Jupiter?
回答
JUnit 5 Jupiter is the modern testing engine that replaces JUnit 4, offering an improved API with modernized annotations and new features. Jupiter brings richer assertions, better support for parameterized tests, and a modular architecture allowing easy framework extension. Using Jupiter enables leveraging Java 8+ features like lambdas in assertions.
2Which annotation marks a method as a test in JUnit 5?
Which annotation marks a method as a test in JUnit 5?
回答
The @Test annotation from JUnit 5 identifies a method as a test case that will be executed by the runner. Unlike JUnit 4 where @Test accepted parameters like expected or timeout, JUnit 5 uses dedicated assertions like assertThrows. Each @Test method should be autonomous and test a specific behavior in isolation.
3What is the difference between @BeforeEach and @BeforeAll?
What is the difference between @BeforeEach and @BeforeAll?
回答
@BeforeEach runs before each test method to initialize a clean state, while @BeforeAll runs once before all tests in the class. @BeforeEach is ideal for creating fresh mocks or objects for each test, ensuring isolation. @BeforeAll requires a static method and is used for expensive initializations shared across all tests.
Which assertion verifies equality between two values?
How to verify that an exception is thrown in JUnit 5?
+27 面接問題