JUnit 5 Fundamentals
Grouping tests with @Tag
Autoplay
Up next
Previous
About
Overview
In this lesson, we are going to look into a meta-annotation used for grouping tests together, @Tag
. It's the successor to JUnit 4's Category
, and allows developers to tag tests with String
identifiers, then later drive the execution of their test suite based on these tags. We'll explore how the Gradle build system can include or exclude specific tests in both Java and Android environments.
Summary
- Similar tests may be tagged with the same ID (think "end-to-end tests" vs. "UI tests")
- Marking slow-running tests may improve your daily workflow for running tests
- Gradle provides a DSL to include and exclude tags
- Java:
test.useJunitPlatform.include/excludeTags
- Android:
android.testOptions.junitPlatform.filters.include/excludeTags
- Android can specify different include/exclude statements per variant
Instructor
Links
Comments
Lessons in JUnit 5 Fundamentals
1. Understand the Core Components of JUnit 5
02:11
2. Set up your Java Project for JUnit 5

01:25
3. Set up your Android Project for JUnit 5

01:42
4. The first @Test

02:06
5. Lifecycle with @BeforeEach & @AfterEach

01:09
6. Lifecycle with @BeforeAll & @AfterAll

Pro
01:10
7. Using 1 Instance per Method with @TestInstance

Pro
01:12
8. Using 1 Instance per Class with @TestInstance

Pro
02:01
9. Taking advantage of @TestInstance(PER_CLASS) in Kotlin

Pro
01:25
10. Bearable Test Method Names with @DisplayName

Pro
02:19
11. Checking for equality with assertEquals() & Friends

Pro
02:53
12. Using assertTrue() & assertFalse()

Pro
00:51
13. Asserting null

Pro
00:38
14. Testing Exceptions with assertThrows()

Pro
01:10
15. Composing Assertions with assertAll()

Pro
02:00
16. Avoiding failure with Assumptions

Pro
01:33
17. Ignoring Tests with @Disabled

Pro
01:31
18. Conditional Test Execution Pairs: @EnabledOnOs & @DisabledOnOs

Pro
01:43
19. Conditional Test Execution Pairs: @EnabledOnJre & @DisabledOnJre

Pro
00:47
20. Conditional Test Execution Pairs: @EnabledIfSystemProperty & @DisabledIfSystemProperty

Pro
01:30
21. Conditional Test Execution Pairs: @EnabledIfEnvironmentVariable & @DisabledIfEnvironmentVariable

Pro
01:08
22. Conditional Test Execution Pairs: @EnabledIf & @DisabledIf

Pro
02:19
23. Grouping tests with @Tag

Pro
01:50
24. @Nested & Effective BDD in JUnit 5

Pro
03:38
25. Running a test multiple times with @RepeatedTest

Pro
05:19
26. @ParameterizedTest with @ValueSource

Pro
03:11
27. @ParameterizedTest with @EnumSource

Pro
00:31
28. @ParameterizedTest with @MethodSource

Pro
02:30
29. @ParameterizedTest with @CsvSource & @CsvFileSource

Pro
01:44
30. Argument Conversion Techniques for Parameterized Tests

Pro
04:09
31. Writing a custom @Source for Parameterized Tests

Pro
04:31
32. Introduction to @TestFactory and Dynamic Tests

Pro
01:31
33. Grouping Dynamic Tests into Containers

Pro
01:55
34. Lifecycle Caveats for Dynamic Tests

Pro
01:06
35. Setting up Parallel Test Execution

Pro
02:47
36. Parallel Execution Strategies: Dynamic

Pro
02:02
37. Parallel Execution Strategies: Fixed

Pro
00:48
38. Parallel Execution Strategies: Custom

Pro
03:16
39. Synchronizing Parallel Test Execution with @ResourceLock

Pro
03:28

Something went wrong
Lesson added to playlist
Create new playlist
Name can't be empty