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

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

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

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

1. Обзор

XMLUnit 2.x — это мощная библиотека, которая помогает нам тестировать и проверять XML-содержимое и особенно удобна, когда мы точно знаем, что должен содержать этот XML.

И поэтому мы будем в основном использовать XMLUnit внутри модульных тестов , чтобы убедиться, что то, что у нас есть, является допустимым XML , что он содержит определенную информацию или соответствует определенному стилю документа.

Кроме того, с помощью XMLUnit мы можем контролировать, какие различия важны для нас и какую часть ссылки на стиль сравнивать с какой частью сравниваемого XML.

Поскольку мы фокусируемся на XMLUnit 2.x, а не на XMLUnit 1.x, всякий раз, когда мы используем слово XMLUnit, мы строго ссылаемся на 2.x.

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

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

1. Обзор

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

2. Генерация отображаемого имени

Мы можем настроить собственные генераторы отображаемых имен с помощью аннотации @DisplayNameGeneration . Однако полезно знать, что аннотация @DisplayName всегда имеет приоритет над любым генератором отображаемого имени.

Для начала JUnit 5 предоставляет класс DisplayNameGenerator.ReplaceUnderscores , который заменяет любые символы подчеркивания в именах пробелами. Давайте рассмотрим пример:

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

1. Обзор

В этом руководстве мы увидим, как параметризовать интеграционный тест Spring, реализованный в JUnit4, с помощью средства запуска тестов Parameterized JUnit.

2. SpringJUnit4ClassRunner

SpringJUnit4ClassRunner — это реализация ClassRunner JUnit4 , которая встраивает TestContextManager Spring в тест JUnit .

TestContextManager является точкой входа в структуру Spring TestContext и, следовательно, управляет доступом к Spring ApplicationContext и внедрением зависимостей в тестовом классе JUnit. Таким образом, SpringJUnit4ClassRunner позволяет разработчикам реализовывать интеграционные тесты для компонентов Spring, таких как контроллеры и репозитории.

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

1. Обзор

В этом руководстве мы рассмотрим настраиваемую реализацию списка с использованием процесса разработки через тестирование (TDD).

Это не введение в TDD, поэтому мы предполагаем, что у вас уже есть некоторое базовое представление о том, что это значит, и постоянный интерес к тому, чтобы стать лучше.

Проще говоря, TDD — это инструмент проектирования, позволяющий нам управлять нашей реализацией с помощью тестов .

Небольшой отказ от ответственности — здесь мы не сосредотачиваемся на создании эффективной реализации — просто используем ее как предлог для демонстрации практики TDD.

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

1. Обзор

В этом руководстве мы проанализируем, как мы можем пройти аутентификацию с помощью REST Assured для правильного тестирования и проверки защищенного API.

Инструмент обеспечивает поддержку нескольких схем аутентификации :

  • Базовая аутентификация
  • Дайджест-аутентификация
  • Аутентификация формы
  • OAuth 1 и OAuth 2

И мы увидим примеры для каждого из них.

2. Использование базовой аутентификации

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

1. Введение

В этом руководстве мы узнаем, как тестировать наши Spring REST-контроллеры с помощью RestAssuredMockMvc , API-интерфейса с поддержкой REST, созданного поверх Spring MockMvc .

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

В этом руководстве используются Spring MVC , Spring MockMVC и REST-assured , поэтому обязательно ознакомьтесь с этими руководствами.

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

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

1. Обзор

Некоторые популярные библиотеки макетов, такие как Mockito и Easymock , создают макеты, используя преимущества модели классов на основе наследования Java. EasyMock реализует интерфейс во время выполнения, тогда как Mockito наследует от целевого класса для создания имитирующей заглушки.

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

В этом уроке мы рассмотрим некоторые из этих функций.

Для ознакомления с JMockit см. нашу предыдущую статью .

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

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

1. Введение

В этом коротком уроке мы рассмотрим ленивые проверки в Mockito 2.

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

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

Начнем с добавления зависимости Mockito 2 :

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

1. Обзор

В этом руководстве показано, как использовать ArgumentMatcher и чем он отличается от ArgumentCaptor .

Ознакомление с фреймворком Mockito можно найти в этой статье .

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

Нам нужно добавить один артефакт:

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

1. Введение

Spring отлично поддерживает декларативное управление транзакциями в коде приложения , а также в интеграционных тестах .

Однако иногда нам может понадобиться детальный контроль над границами транзакций.

В этой статье мы увидим, как программно взаимодействовать с автоматическими транзакциями, настроенными Spring, в транзакционных тестах .

2. Предпосылки