Перейти к основному содержимому

52 записи с тегом "JUnit"

Посмотреть все теги

· 5 мин. чтения

1. Обзор

Очень часто все наши тесты JUnit выполняются автоматически как часть сборки CI с использованием Maven. Однако на это часто уходит много времени.

Поэтому мы часто хотим фильтровать наши тесты и выполнять либо модульные тесты, либо интеграционные тесты, либо и то, и другое на разных этапах процесса сборки.

В этом руководстве мы рассмотрим несколько методов фильтрации для тестовых случаев с JUnit 5 . В следующих разделах мы также рассмотрим различные механизмы фильтрации до JUnit 5.

2. Теги JUnit 5

· 10 мин. чтения

1. Обзор

JUnit и TestNG, несомненно, являются двумя самыми популярными средами модульного тестирования в экосистеме Java. Хотя JUnit вдохновляет сам TestNG, он предоставляет свои отличительные черты и, в отличие от JUnit, работает для функциональных и более высоких уровней тестирования.

В этом посте мы обсудим и сравним эти фреймворки, рассмотрев их особенности и распространенные варианты использования .

2. Настройка теста

При написании тестовых случаев часто нам нужно выполнить некоторые инструкции по настройке или инициализации перед выполнением тестов, а также некоторую очистку после завершения тестов. Давайте оценим их в обеих рамках.

· 6 мин. чтения

1. Обзор

Динамическое тестирование — это новая модель программирования, представленная в JUnit 5. В этой статье мы рассмотрим, что такое динамические тесты и как их создавать.

Если вы новичок в JUnit 5, вы можете ознакомиться с предварительной версией JUnit 5 и нашим основным руководством .

2. Что такое динамический тест ?

Стандартные тесты, помеченные аннотацией @Test , являются статическими тестами, которые полностью определяются во время компиляции. DynamicTest — это тест, созданный во время выполнения . Эти тесты генерируются фабричным методом, снабженным аннотацией @TestFactory .

· 4 мин. чтения

1. Обзор

Давайте представим, что у нас есть тест для некоторого кода, который зависит от операционной системы и должен выполняться только в том случае, если наша тестовая машина работает в Linux. Если он работает на любой другой ОС, мы хотим, чтобы тест не провалился, а игнорировался во время выполнения.

Первый подход может заключаться в использовании нескольких операторов if для проверки этого условия с помощью свойств класса System . Это, конечно, работает, но у JUnit есть более чистый и элегантный метод.

В этом коротком руководстве мы рассмотрим, как мы можем условно запускать или игнорировать тесты в JUnit 4, используя класс Assume .

2. Предполагаемый класс

· 3 мин. чтения

1. Обзор

В этом руководстве мы рассмотрим, как использовать утверждение о сбое JUnit для распространенных сценариев тестирования.

Мы также увидим различия в методах fail() между JUnit 4 и JUnit 5 . ``

2. Использование ошибочного утверждения

Утверждение о сбое не проходит тест, безоговорочно вызывая AssertionError .

· 22 мин. чтения

1. Обзор

Может быть сложно протестировать наше программное обеспечение, если оно зависит от системных ресурсов, таких как переменные среды, системные свойства, или использует операции уровня процесса, такие как System.exit .

Java не предоставляет прямого метода для установки переменных среды, и мы рискуем тем, что значения, установленные в одном тесте, повлияют на выполнение другого. Точно так же мы можем избежать написания тестов JUnit для кода, который может выполнить System.exit , поскольку есть вероятность, что это прервет тесты.

Системные правила и системные лямбда-библиотеки были ранними решениями этих проблем. В этом руководстве мы рассмотрим новую вилку System Lambda под названием System Stubs , которая представляет собой альтернативу JUnit 5 .

2. Почему системные заглушки?

· 4 мин. чтения

1. Обзор

В этом руководстве мы собираемся запустить тесты на новой платформе JUnit 5 с помощью инструмента сборки Gradle.

Мы настроим проект, который поддерживает как старую, так и новую версию.

Не стесняйтесь читать Руководство по JUnit 5 для получения дополнительной информации о новой версии. Или Введение в Gradle для получения подробной информации об инструменте сборки.

2. Настройка Грейдла

· 10 мин. чтения

1. Обзор

В этой статье мы рассмотрим модель расширения в библиотеке тестирования JUnit 5. Как следует из названия, целью расширений Junit 5 является расширение поведения тестовых классов или методов , и их можно повторно использовать для нескольких тестов.

До Junit 5 версия библиотеки JUnit 4 использовала два типа компонентов для расширения теста: средства выполнения тестов и правила. Для сравнения, JUnit 5 упрощает механизм расширения, вводя единую концепцию: Extension API.

2. Модель расширения JUnit 5

Расширения JUnit 5 связаны с определенным событием при выполнении теста, называемым точкой расширения. Когда достигается определенная фаза жизненного цикла, механизм JUnit вызывает зарегистрированные расширения.

· 4 мин. чтения

1. Обзор

В этой быстрой статье мы рассмотрим аннотацию @RepeatedTest, представленную в JUnit 5. Она предоставляет нам мощный способ написать любой тест, который мы хотим повторить несколько раз.

Если вы хотите узнать больше о JUnit 5, ознакомьтесь с другими нашими статьями , объясняющими основы и руководство по JUnit 5 .

2. Зависимости и настройка Maven

Первое, что нужно отметить, это то, что для работы JUnit 5 требуется Java 8. Сказав это, давайте посмотрим на зависимость Maven:

· 5 мин. чтения

1. Обзор

При тестировании нам часто требуется доступ к временному файлу. Однако самостоятельно управлять созданием и удалением этих файлов может быть обременительно.

В этом кратком руководстве мы рассмотрим, как JUnit 5 облегчает это, предоставляя расширение TempDirectory .

Чтобы получить подробное руководство по тестированию с помощью JUnit, ознакомьтесь с нашим превосходным руководством по JUnit 5 .

2. Расширение TempDirectory