本套課程涵蓋了所有的Junit5的技術細節,首先回顧了Junit 3和Junit 4的相關內容,然後由淺入深的講解了關於JUnit 5的內容,從基礎知識到高級應用,在最後的一部分我們還介紹了JUnit 5與Mockito,Powermock,Cucumber,SpringBoot的整合
1. JUnit 5 Jupiter Introduction
1.1 Quality Engineering Process
1.1.1 Quality Planning
1.1.2 Quality Assurance
1.1.3 Post-Quality Assurance
1.2 Why Unit Testing?
1.3 JUnit Framework Retrospect
1.3.1 JUnit 3
1.3.1.1 Standard Test Case & Lifecycle
1.3.1.2 TestSuite
1.3.2 JUnit 4
1.4.2.1 Standard Test Case & Lifecycle
1.4.2.2 @RunWith & Runner
Parameterized
Theories
MockitoJUnitRunner
1.4.2.3 @Rule
1.3.3 JUnit 5 Jupiter
1.3.3.1 JUnit 3&4 defect
1.3.3.2 JUnit 5 inception
1.3.3.3 JUnit 5 architecture
1.2.4 JUnit 5 Jupiter Quick Start
Junit 5 Jupiter
Junit 5 TestEngine
Junit 5 Platform Luancher
2. JUnit 5 Juipter Basic
2.1 Jupiter Assertion Statement
2.2 Exception Assertion
2.3 Batch all Assertion
2.4 DisplayName
2.5 Disabled
2.6 Timeout Assertion
2.7 RepeatTest
2.8 Order
2.9 Tagging & Filtering
2.10 Nested Test Classes
2.11 Test Instance Lifecycle
2.12 Jupiter Extensions
2.12.1 TestInstancePostProcessor
2.12.2 BeforeAllCallback
2.12.3 BeforeEachCallback
2.12.4 BeforeTestExecutionCallback
2.12.5 TestExecutionExceptionHandler
2.12.6 AfterTestExecutionCallback
2.12.7 AfterEachCallback
2.12.8 AfterAllCallback
2.13 Assumptions
2.14 Integration Other Assertion framework
2.14.1 Hamcrest
2.14.2 AssertJ
2.15 Condition Execution
2.15.1 DisabledCondition
2.15.2 DisabledOnJreCondition
2.15.3 EnabledOnJreCondition
2.15.4 EnabledOnOsCondition
2.15.5 EnabledForJreRangeCondition
2.15.6 DisabledForJreRangeCondition
2.15.7 DisabledOnOsCondition
2.15.8 DisabledIfEnvironmentVariableCondition
2.15.9 DisabledIfSystemPropertyCondition
2.15.10 EnabledIfSystemPropertyCondition
2.15.11 EnabledIfEnvironmentVariableCondition
2.15.12 EnabledIfCondition
2.15.13 DisabledIfCondition
2.15.14 Custom Condition Execution
2.16 Test case in Interface
3. JUnit 5 Juipter Advanced
3.1 Dependency injection(build-in)
3.1.1 TestInfoParameterResolver
3.1.2 RepetitionInfoParameterResolver
3.1.3 TestReporterParameterResolver
3.1.4 Custom ParameterResolver
3.2 Dynamic Tests-TestFactory
3.3 DynamicContainer
3.4 Test Sources
3.5 Test Templates
3.6 Parameterized tests
3.7.1 ValueSource
3.7.2 EnumSource
3.7.3 MethodSource
3.7.4 CsvSource
3.7.5 CsvFileSource
3.7.6 ArgumentsSource
3.7.7 Argument conversion
3.7.7.1 Implicit conversion
3.7.7.2 Explicit conversion
3.7.8 Custom Display Names
3.7 Parallel Execution
4. Migrate legacy JUnit 4 test code
4.1 Jupiter tests in JUnit 4
4.2 Migration from JUnit 4 to JUnit 5
4.2.1 Junit4 vs Junit5
4.2.2 Run Junit 4 at Junit 5 platform
4.2.3 Junit 4 @Rule at Junit 5 platform
5. Integration
5.1 Mockito
5.2 Powermock
5.3 Selenium
5.4 Cucumber
5.5 Spring Boot