-
Проверка API WeatherStack
(файл):- Описывает функциональность API погоды и содержит два раздела:
@positive
и@negative
- Каждый раздел содержит структуру сценария и примеры для проверки корректности значений и сообщений об ошибках соответственно
- Описывает функциональность API погоды и содержит два раздела:
-
CucumberRunnerTest
(класс):- Представляет запускающий класс для выполнения тестовых сценариев
- Использует аннотации
JUnit 5
для настройки и запуска тестов - Использует свойства из файла
junit-platform.properties
, который является файлом конфигурации дляJUnit Platform
-
WeatherStackApiStepDefinitions
(класс):- Содержит реализацию шагов, описанных в файле
Проверка API WeatherStack.feature
- Каждый шаг связан с конкретной аннотацией (
@Дано
,@Когда
,@То
) и содержит код, выполняющий запросы кAPI
погоды с использованиемREST Assured
и проверяющий ожидаемые значения и сообщения об ошибках
- Содержит реализацию шагов, описанных в файле
-
TestProperties
(интерфейс):- Представляет конфигурационные свойства, необходимые для выполнения тестов
- Использует аннотации из библиотеки
Aeonbits Owner Config
для загрузки значений свойств из файлаtest.properties
, который содержитURL
иключ API
для сервисаWeatherStack
-
Properties
(класс):- Предоставляет статическую переменную
testProperties
, которая представляет экземпляр интерфейсаTestProperties
- Используется для предоставления доступа к конфигурационным свойствам в других частях кода
- Предоставляет статическую переменную
src
├── main
│ └── java
│ └── config
│ ├── Properties.java
│ └── TestProperties.java
└── test
├── java
│ └── com
│ └── weatherstack
│ ├── defenitions
│ │ └── WeatherStackApiStepDefinitions.java
│ └── runner
│ └── CucumberRunnerTest.java
└── resources
├── features
│ └── Проверка API WeatherStack.feature
├── junit-platform.properties
└── test.properties
Java 19
|Cucumber 7
|JUnit 5
|Rest Assured
|Allure
mvn test -Dgroups=positive
mvn test -Dgroups=negative
mvn allure:serve
Примечание:
Allure-отчеты формируются при запуске тестов maven-командой или при запуске тестов из класса CucumberRunnerTest