Java單元測試: Junit5 Jupiter 實戰課程(基於JDK 16版本)

Unit Testing use Junit 5 Jupiter,Vintage,Platform, Mockito,Powermock,Cucumber, Selenium,Spring Boot

Ratings: 5.00 / 5.00




Description

本套課程涵蓋了所有的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

What You Will Learn!

  • JUnit 3,4 框架回顧和 Junit 5 架構概述
  • JUnit 5 Juipter 基礎知識
  • JUnit 5 Juipter 高級知識
  • 遷移舊版 JUnit 4 測試代碼
  • 集成其他框架(Mockito、Powermock、Cucumber、Selenium、Spring等)

Who Should Attend!

  • Java Developer
  • JVM(Scala,Groovy,Koltin) Language Develop Engineer
  • QA Developer