JUnit as a Habit (Not an Afterthought)

A Leading JUnit Course for every Java Developer!


Benefits of the Course!

What will you gain as the result of taking this course?


Confidence in yourself and in the quality of your work. You will master unit testing in Java and will get practical skills based on real-life examples.

You may use these skills at once at work by ensuring the reliability of your Java code. The course will raise your professional standing.

What’s included in the course?

Basic, Advanced, Professional and Expert levels


Immediately, you will gain an appreciation of how the course is relevant to your work product.

You can stop at any level. The difference between the price you paid and the price for that level will be refunded to you if applicable.

Lectures, Quizzes and Labs...

What are the parts of the course?


7 lectures/8 hours: JUnit technology. 7 quizzes/6 hours: make this new knowledge stick. 7 labs/14.5 hours: practical skills of unit testing.

JUnit is the de facto standard of unit testing in the Java eco-system. It's a total must have in your programming toolbox!


What's Included?

Basic, Advanced, Professional and Expert levels are available!


Basic

What will you gain by passing the Basic level of the course?


Test simple to moderately complex Java applications

Search for errors in code and improve code quality

Improve the reliability of your code and of your application

Basic assertions using the Assertions class

Basic assumptions using the Assumptions class

Basic annotations such as @BeforeAll, @BeforeEach, @Test, @AfterEach, @AfterAll, @Disabled

Advanced

What will you gain by passing the Advanced level of the course?


All the benefits of the Basic level, plus:

Test Java applications of any complexity

Complex, non-trivial unit testing of your code (such as repeated, parameterized or dynamic unit tests)

Solution to complex unit-testing challenges

Advanced annotations (@RepeatedTest, @ParameterizedTest, etc., 17 in total)

Conditional unit-test execution (contingent on OS, environment variables, JVM system properties, and JVM version)

Professional

What will you gain by passing the Professional level of the course?


All the benefits of the Advanced level, plus:

Utilize internals of JUnit framework in order to add advanced functionality to solve non-trivial problems in unit testing

Write and configure custom extensions by using the Extension API and the @ExtendWith annotation.

Process unit tests as you need to - create custom workflows!

Expert

What will you gain by passing the Expert level of the course?


All the benefits of the Professional level, plus:

Create your own testing infrastructure

Creating custom TestEngines for complete customization of unit-testing workflow

Integrate JUnit into development environments (Launcher API)

Create related groups of unit tests and invoke them (test suites)


Table of Contents

Lectures, Quizzes and Labs described in detail




Basic Level

Lectures, Quizzes and Labs at the Basic Level



Lecture 1

What will you gain as the result of taking Lecture 1?


Lecture 1 covers the 17 methods of the Assertions class, which provide basic assertions for unit testing, such as assertEquals, assertTrue, assertSame, and others.

Duration: 30 minutes


Quiz 1

What will you gain as the result of passing Quiz 1?


Quiz 1 tests your knowledge the 17 methods of the Assertions class, such as assertEquals, assertTrue, assertSame, and others.

Duration: 13 minutes


Lab 1

What will you gain as the result of passing Lab 1?


Lab 1 uses examples to utilize the 17 methods of the Assertions class, such as assertEquals, assertTrue, assertSame, and others.

Duration: 3 hours


Lecture 2

What will you gain as the result of taking Lecture 2?


Lecture 2 covers the following basic annotations: @BeforeAll, @BeforeEach, @Test, @Disabled, @AfterEach, and @AfterAll

Duration: 7 minutes


Quiz 2

What will you gain as the result of passing Quiz 2?


Quiz 2 tests your knowledge of the following basic annotations: @BeforeAll, @BeforeEach, @Test, @Disabled, @AfterEach, and @AfterAll

Duration: 6 minutes


Lab 2

What will you gain as the result of passing Lab 2?


Lab 2 provides real-world examples of the following basic annotations: @BeforeAll, @BeforeEach, @Test, @Disabled, @AfterEach, and @AfterAll

Duration: 51 minutes


Lecture 3

What will you gain as the result of taking Lecture 3?


Lecture 3 covers the 3 methods of the Assumptions class, which provide basic assumptions for unit testing, such as assumeTrue, assumeFalse, and assumpingThat.

Duration: 11 minutes

Quiz 3

What will you gain as the result of passing Quiz 3?


Quiz 3 tests your knowledge of the 3 methods of the Assumptions class: assumeTrue, assumeFalse, and assumpingThat.

Duration: 6 minutes

Lab 3

What will you gain as the result of passing Lab 3


Lab 3 provides real-world examples for` the 3 methods of the Assumptions class: assumeTrue, assumeFalse, and assumpingThat.

Duration: 1 hour 11 minutes

Advanced Level

Lectures, Quizzes and Labs at the Advanced Level


Lecture 4

What will you gain as the result of taking Lecture 4?


Lecture 4 covers @ParameterizedTest, @RepeatedTest, @TestMethodOrder, @TestFactory, @TemplateMethod and other advanced annotations, 22 in total.

Duration: 54 minutes

Quiz 4

What will you gain as the result of passing Quiz 4?


Quiz 4 tests your knowledge on @ParameterizedTest, @RepeatedTest, @TestMethodOrder, @TestFactory, @TemplateMethod and other advanced annotations, 22 in total.

Duration: 34 minutes

Lab 4

What will you gain as the result of passing Lab 4?


Lab 4 gives you real-life examples of @ParameterizedTest, @RepeatedTest, @TestMethodOrder, @TestFactory, @TemplateMethod and other advanced annotations, 22 in total.

Duration: 4 hours

Lecture 5

What will you gain as the result of taking Lecture 5?


Lecture 5 covers @EnabledOnOs, @DisabledOnOs, @EnabledOnJre, @DisabledOnJre, @EnabledForJreRange, @DisabledForJreRange and other conditional-execution annotations (10 in total).

Duration: 18 minutes

Quiz 5

What will you gain as the result of passing Quiz 5?


Quiz 5 tests your knowledge of @EnabledOnOs, @DisabledOnOs, @EnabledOnJre, @DisabledOnJre, @EnabledForJreRange, @DisabledForJreRange and other conditional-execution annotations (10 in total).

Duration: 10 minutes

Lab 5

What will you gain as the result of passing Lab 5?


Lab 5 provides real-world examples of @EnabledOnOs, @DisabledOnOs, @EnabledOnJre, @DisabledOnJre, @EnabledForJreRange, @DisabledForJreRange and other conditional-execution annotations (10 in total).

Duration: 1 hour 33 minutes

Professional Level

Lectures, Quizzes and Labs at the Professional Level


Lecture 6

What will you gain as the result of taking Lecture 6?


In Lecture 6, we cover the Extension API, such as BeforeAllCallback, AfterAllCallback interfaces and others.

Duration: 35 minutes

Quiz 6

What will you gain as the result of passing Quiz 6?


In Quiz 6, we test your knowledge of the Extension API, such as BeforeAllCallback, AfterAllCallback interfaces and others.

Duration: 33 minutes

Lab 6

What will you gain as the result of passing Lab 6?


In Lab 6, we provide real-world examples of using the Extension API.

Duration: 2 hours 12 minutes

Expert Level

Lectures, Quizzes and Labs at the Expert Level


Lecture 7

What will you gain as the result of taking Lecture 7?


In Lecture 7, we cover the Launcher API, the TestEngine API and the test suite API.

Duration: 35 minutes

Quiz 7

What will you gain as the result of passing Quiz 7?


In Quiz 7, we test your knowledge of the Launcher API, the TestEngine API and the test suite API.

Duration: 16 minutes

Lab 7

What will you gain as the result of passing Lab 7?


In Lab 7, we provide real-life examples of using the Launcher API, the TestEngine API and the test suite API.

Duration: 3 hours 8 minutes


Demo Version

Course Promotion, Lecture 2, Quiz 2 and Lab 2 are in open format, take a look.



View Course

A Leading JUnit Course for every Java Developer!


This course is available for free for individual use at YouTube at the following URL: JUnit as a Habit.

This course's companion website is available for free for individual use at the following URL: Companion Website.