https://github.com/araskolnikoff/weather-stack-api-tests
Фреймворк «WeatherStackApiTests»
https://github.com/araskolnikoff/weather-stack-api-tests
allure cucumber gherkin java-19 junit5 open-source rest-assured
Last synced: 3 months ago
JSON representation
Фреймворк «WeatherStackApiTests»
- Host: GitHub
- URL: https://github.com/araskolnikoff/weather-stack-api-tests
- Owner: ARaskolnikoff
- Created: 2023-07-16T23:20:44.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-07-17T13:13:55.000Z (over 2 years ago)
- Last Synced: 2025-01-22T19:48:33.804Z (about 1 year ago)
- Topics: allure, cucumber, gherkin, java-19, junit5, open-source, rest-assured
- Language: Java
- Homepage:
- Size: 17.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Фреймворк _«WeatherStackApiTests»_
### Описание архитектуры фреймворка
- `Проверка API WeatherStack` (файл):
- Описывает функциональность API погоды и содержит два раздела: `@positive` и `@negative`
- Каждый раздел содержит структуру сценария и примеры для проверки корректности значений
и сообщений об ошибках соответственно
- `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`
## Запуск unit-тестов через maven-команды
- ### Запуск позитивного теста
````
mvn test -Dgroups=positive
````
- ### Запуск негативного теста
````
mvn test -Dgroups=negative
````
- ### Просмотр allure-отчета
````
mvn allure:serve
````
Примечание:
>_Allure-отчеты формируются при запуске тестов maven-командой или при запуске тестов из класса CucumberRunnerTest_