Skip to content

Examples of work with Junit5, Mockito, AssertJ, Jacoco. Description in doc folders. Section cheat sheet. For memory!

Notifications You must be signed in to change notification settings

JcoderPaul/Junit5_Tests

Repository files navigation

Изучение фреймворка Junit 5

Примеры работы с аннотациями внутри тестового класса:

  • @Test
  • @BeforeEach
  • @AfterEach
  • @BeforeAll
  • @AfterAll

Пример применения аннотации @TestInstance к тестовому классу, различия между TestInstance.Lifecycle.PER_METHOD и TestInstance.Lifecycle.PER_CLASS (см. FourthTest.java).

Изучение методов:

  • *.assertTrue()
  • *.assertEquals()

Папка DOC содержит:

Применение принципов TDD на простых примерах (см. TddMethodLess.java). Пример комплексного запуска тестов - Launcher API (см. AllTestRunnerLauncher.java)

Папка DOC содержит:

  • различия Junit 4 и Junit 5, структура фреймворка (см. Junit 5.txt);

Краткие примеры работы с библиотекой AssertJ (см. AssertJ.txt), работа с методом: *.assertThat().

Применение Junit метода *.assertAll()

Пример применения аннотации @Tag (см. UserServiceTest.java)

Краткое рассмотрение фильтрации тестов при выполнении по тегам (см. TestRunnerLauncher.java)

Папка DOC содержит:

Исследование методов управления порядком запуска тестов, применение аннотаций:

  • @TestMethodOrder(MethodOrderer.order-type.class)
  • @Order(number)
  • @DisplayName("name of method")

Применение вложенных классов, аннотация @Nested (см. UserServiceTest.java).

Папка DOC содержит:

Работа с параметризированными тестами. Исследование аннотаций:

  • @ParameterizedTest
  • @NullSource
  • @EmptySource
  • @NullAndEmptySource
  • @ValueSource
  • @MethodSource
  • @CsvFileSource
  • @CsvSource

Тестирование исключений, использование метода:

  • assertThrows

См. подробнее UserServiceTest.java

Понятие Flaky тест. Применение аннотаций:

  • @Disable
  • @RepeatedTest(value, name)
  • @TimeOut()

Использование методов:

  • assertTimeout

Dependency Injection - внедрение зависимостей. Расширение функциональности тестов. Аннотация @ExtendWith. Использование:

  • UserServiceParamResolver.class
  • GlobalExtension.class
  • PostProcessionExtension.class
  • ConditionalExtension.class
  • ThrowableExtension.class

Папка DOC содержит:

Cтатьи о принципах внедрения зависимостей:

Применение фреймворка Mockito:

  • Примеры создание MOCK требуемого класса, применение структуры (Mockito.doReturn().when().some_method) и (Mockito.when(some_class.some_method).thenReturn(data)) их отличия (см. UserServiceMockTest.java).
  • Пример создания SPY требуемого класса, применение Mockito.when. ... и Mockito.do. ... (см. UserServiceSpyTest.java)

Папка DOC содержит:

Применение фреймворка Mockito:

  • Пример расширений Mockito
  • Использование аннотаций:
    • @Mock
    • @InjectMocks
    • @Captor
  • Применение методов:
    • Mockito.times()
    • Mockito.verify()

Практическое применение Junit 5 и Mockito при покрытии тестами простого проекта (применение Given-When-Then).

About

Examples of work with Junit5, Mockito, AssertJ, Jacoco. Description in doc folders. Section cheat sheet. For memory!

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages