Постановка задачи:
- Микросервисы извлекают данные из базы данных DB2 как часть производства
- Различный набор данных возможен в другой среде
- Как часть этого, оно должно гарантировать точность логики поиска
- код Java преобразует данные DB2 в структуру JSON
- Логика Microservices не контролирует создание базы данных, она ограничена только поиском
- В качестве части вышеуказанного требования обсуждается DB (H2) в памяти для тестирования, где данные загружаются с использованием DDL / DML и ожидаемого ответа JSON, который будет сгенерирован вручную как часть модульного тестирования
Цель проверки проверки: проверить «логику повторного запуска», чтобы независимо от среды извлекались одинаковые значения. При вызове микросервисов внутренние URL-адреса Test Harness обращаются к базе данных в памяти для получения фактического ответа
Тестовая структура автоматизации на месте:
- Рамки для каратэ
Подход к автоматизации испытаний:
- Загрузка данных в базу данных памяти с использованием DDL / DML (файл) как часть выполнения теста
- Вызов микросервисного запроса с использованием каратэ
- Сравнить фактический ответ с ожидаемым ответом JSON, полученным на шаге
- Удалить базу данных как часть очистки
Примечание. Поскольку было бы очень утомительно писать ту же логику автоматизации тестирования, которая помогает преобразовывать данные в БД (в памяти) в JSON (ожидаемый ответ), ожидаемый ответ JSON будет записан как базовый ожидаемый ответ
Предполагается, что для поддержки DDL / DML будет поддерживаться Test Automation Maintenance или ожидаемый JSON в случае каких-либо изменений в реальной логике поиска.
Ссылка для проверки БД в памяти:
https://www.baeldung.com/spring-jpa-test-in-memory-database
xyz-service-response.json генерируется как часть модульного тестирования, когда в памяти создается БД
@ TestRetrivalLogicusingInMemoryRequirnments
Особенность: демонстрация чтения файлов и использование в тесте
Справочная информация:
* url 'http://localhost:8080/api/sample/v1.0/'
* header Accept = 'application / json'
* настроить logPrettyResponse = true
* configure ssl = true
Сценарий: использование json в качестве строки
Загрузка данных в базу данных в памяти ---- >> Это ожидаемое заявление Огурец. Нужно понять, как мы можем сделать в каратэ
Указанный путь 'getDerivedRules'
И запрос {"pricingVerIds": [{"AncestorVersionId": 123456123, "kidsVersionIds": [3432432,345324324]}], "executeFlow": "Check", "PriceType": "dollarinINYIELD", "validationLevel": "Aggrement_: }
Когда метод POST
Тогда статус 200
Затем сопоставьте $ == read ('xyz-service-response.json')
Вызов и запрос:
Поскольку в выражении каратэ Gherkin отсутствует Java Glue Code и имеется собственный DSL, это может быть достигнуто с помощью каратэ или нам нужно придерживаться RESTAssured или аналогичной платформы
Запрос о помощи:
Было бы полезно любое предложение или фрагмент кода для обработки выше