Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: 9 days 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 1 year ago)
- Default Branch: main
- Last Pushed: 2023-07-17T13:13:55.000Z (over 1 year ago)
- Last Synced: 2024-11-22T07:06:02.703Z (2 months 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_