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

240 записей с тегом "Тестирование"

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

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

1. Обзор

Apache Cassandra — это мощная распределенная база данных NoSQL с открытым исходным кодом. В предыдущем уроке мы рассмотрели некоторые основы работы с Cassandra и Java .

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

Во-первых, мы начнем с того, как установить и настроить последнюю версию CassandraUnit. Затем мы рассмотрим несколько примеров того, как мы можем написать модульные тесты, которые не полагаются на работающий внешний сервер базы данных.

И, если вы используете Cassandra в производственной среде, вы определенно можете упростить запуск и обслуживание собственного сервера и вместо этого использовать базу данных Astra , которая представляет собой облачную базу данных, построенную на Apache Cassandra.

2. Зависимости

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

1. Обзор

Обычно мы используем аннотации JUnit, такие как @BeforeEach, @AfterEach, @BeforeAll и @AfterAll, для управления жизненным циклом тестов, но иногда этого недостаточно, особенно когда мы работаем с инфраструктурой Spring.

Вот где Spring TestExecutionListener пригодится.

В этом руководстве мы увидим, что предлагает TestExecutionListener , прослушиватели по умолчанию, предоставляемые Spring, и как реализовать собственный TestExecutionListener .

2. Интерфейс TestExecutionListener

· 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

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

1. Обзор

В этой статье мы кратко рассмотрим аннотацию JUnit @Test . Эта аннотация предоставляет мощный инструмент для выполнения модульного и регрессионного тестирования.

2. Конфигурация Maven

Чтобы использовать последнюю версию JUnit 5 , нам нужно добавить следующую зависимость Maven:

<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.8.1</version>
<scope>test</scope>
</dependency>

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

1. Обзор

В этой статье мы поймем, почему в JUnit возникает ошибка java.lang.NoClassDefFoundError и как ее исправить. Эта проблема в основном связана с конфигурациями IDE. Поэтому мы сосредоточимся на самых популярных IDE: Visual Studio Code, Eclipse и IntelliJ, чтобы воспроизвести и устранить эту ошибку.

2. Что такое java.lang.NoClassDefFoundError ?

Когда среда выполнения Java запускает программу Java, она не загружает сразу все классы и зависимости. Вместо этого он вызывает загрузчик классов Java для загрузки классов в память по мере необходимости. При загрузке класса, если загрузчик классов не может найти определение класса, он выдает ошибку NoClassDefFoundError .

Есть несколько причин, по которым Java не может найти определение класса:

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

1. Обзор

В этом руководстве мы проанализируем различные варианты использования и возможные альтернативные решения для модульного тестирования абстрактных классов с помощью неабстрактных методов.

Обратите внимание, что тестирование абстрактных классов почти всегда должно проходить через общедоступный API конкретных реализаций , поэтому не применяйте описанные ниже методы, если вы не уверены в том, что делаете.

2. Зависимости Maven

Начнем с зависимостей Maven: