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

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

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

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

1. Введение

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

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

Начнем с простого веб-приложения. Он может приветствовать, изменять приветствие и сбрасывать его до значения по умолчанию с помощью простых вызовов REST. Помимо основного класса, мы используем простой RestController для обеспечения функциональности:

@RestController
@RequestMapping("/hello")
public class WebController {

@GetMapping
public String salutation() {
return "Hello world!";
}
}

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

1. Обзор

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

2. Настройка

Согласно документации Java List#equals , два списка равны, если они содержат одни и те же элементы в одном и том же порядке. Следовательно, мы не можем просто использовать метод equals , так как мы хотим выполнять независимое от порядка сравнение.

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

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

1. Обзор

В этой статье мы узнаем, как исправить ошибки JUnit NoSuchMethodError и NoClassDefFoundError . Такие проблемы обычно возникают, когда у нас есть две разные версии JUnit в нашем пути к классам . Такая ситуация может возникнуть, например, когда версия JUnit проекта отличается от той, которая используется в зависимости Maven или Gradle.

2. JUnit NoClassDefFoundError в проекте Spring

Допустим, у нас есть проект Maven, использующий Spring Boot 2.1.2 и зависимость Spring Boot Starter Test . С такой зависимостью мы можем писать и запускать автоматические тесты, используя JUnit 5.3.2, который является JUnit-версией зависимости spring-boot-test .

Теперь предположим, что мы продолжим использовать Spring Boot 2.1.2. Однако мы хотим использовать JUnit 5.7.1. Возможным подходом было бы включение зависимостей junit-jupiter-api , junit-jupiter-params , junit-jupiter-engine и junit-platform-launcher в наш файл pom.xml :

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

1. Обзор

В этом руководстве мы рассмотрим два метода извлечения данных из Apache JMeter и записи их во внешний файл.

2. Настройка базового сценария JMeter

Давайте теперь начнем с создания базового скрипта JMeter. Давайте создадим группу потоков с одним потоком (это значение по умолчанию при создании группы потоков ):

./67da909dd0fcc0222536776608f159c9.png

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

1. Обзор

Java 8 представила ряд новых замечательных функций, таких как лямбда-выражение и потоки. И, естественно, Mockito использовал эти последние инновации во второй основной версии .

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

2. Мокирующий интерфейс с методом по умолчанию

Начиная с Java 8, мы теперь можем писать реализации методов в наших интерфейсах. Возможно, это отличная новая функциональность, но ее введение в язык нарушило сильную концепцию, которая была частью Java с момента ее зарождения.

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

1. Обзор

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

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

2. Приложение с компонентами пользовательского интерфейса и API

Наш пример приложения имеет простой пользовательский интерфейс для генерации случайного числа между диапазоном значений:

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

1. Обзор

В этом руководстве мы рассмотрим следующие аннотации библиотеки Mockito: @Mock , @Spy , @Captor и @InjectMocks .

Чтобы узнать больше о Mockito, посмотрите серию здесь .

2. Включить аннотации Mockito

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

1. Обзор

В этом руководстве мы интегрируем нагрузочный тест в конвейер Jenkins с помощью Gatling . Прежде всего, давайте удостоверимся, что мы знакомы с концепцией Гатлинга.

2. Создайте проект Гатлинга с помощью Maven

Наша цель — вставить нагрузочный тест с Gatling в конвейер Jenkins CI/CD. Чтобы автоматизировать этот шаг проверки, мы можем упаковать инструмент с помощью Maven.

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

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

1. Введение

В этой быстрой статье мы познакомимся с аннотациями @EnabledIf и @DisabledIf в Spring 5 с использованием JUnit 5.

Проще говоря, эти аннотации позволяют отключать/включать конкретный тест, если выполняется указанное условие.

Мы будем использовать простой тестовый класс, чтобы показать, как работают эти аннотации:

@SpringJUnitConfig(Spring5EnabledAnnotationIntegrationTest.Config.class)
public class Spring5EnabledAnnotationIntegrationTest {

@Configuration
static class Config {}
}

2. @EnabledIf

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

1. Введение

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

2. Тестирование производительности с помощью Gatling

Тестирование производительности — это метод тестирования, который оценивает скорость отклика и стабильность системы при определенной рабочей нагрузке . Существует несколько типов тестов, которые обычно относятся к тестированию производительности. К ним относятся нагрузочное тестирование, стресс-тестирование, тестирование выдержки, пиковое тестирование и некоторые другие. Все они имеют свои конкретные цели для достижения.

Однако одним из общих аспектов любого тестирования производительности является моделирование рабочих нагрузок, и такие инструменты, как Gatling , JMeter и K6 , помогают нам в этом. Но, прежде чем мы продолжим, нам нужно приложение, которое мы можем протестировать на производительность.