Skip to content

gunmaden/TestTask

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Test Task

Описание проектов


ApiClientProject

Клиент для API проекта RestService, создан с помощью SwaggerCodegen (powershell скрипт для обновления может быть найден в папке scripts)


DBRepository

Проект в котором описана логика получения данных из БД


Models

Проект с моделями (для запросов и работы с БД)


RestService

Проект с сервисом с REST интерфейсом


Tests

Проект с API тестами


PerfTests

Проект с подобием нагрузочного тестирования


Запуск сервиса

Для запуска необходимо:

  1. Установленный .Net Core SDK 2.2
  2. Поднятый сервер с PostgreSQL (на других СУБД не испытывалось, но для дефолтного значения в поле с типом Guid используется метод defaultValueSql: "uuid_generate_v4()" так что врядли получится)
  3. Подключение к интернету (для выполнения package restore)

Процедура запуска

  1. В папке с проектом RestService создать файл appsettings.json (для удобства есть appsettings.example.json), указав DefaultConnection
  2. В консоли перейти в папку с проектом RestService
  3. В консоли выполнить команду dotnet ef database update
  4. В консоли выполнить команду dotnet run

Запуск API тестов

Для запуска необходимо:

  1. Установленный .Net Core SDK 2.2
  2. Поднятый сервис RestService
  3. Подключение к интернету (для выполнения package restore)

Процедура запуска

  1. В папке с проектом Tests создать файл Config.json (для удобства есть Config.example.json), указав SiteUri по которому доступен RestService
  2. В консоли перейти в папку с проектом Tests
  3. В консоли выполнить команду dotnet test

Запуск нагрузочных тестов

Для запуска необходимо:

  1. Установленный .Net Core SDK 2.2
  2. Поднятый сервис RestService
  3. Подключение к интернету (для выполнения package restore)

Процедура запуска

  1. В папке с проектом PerfTests создать файл Config.json (для удобства есть Config.example.json), указав необходимые параметры
    • SiteUri - Uri по которому доступен RestService
    • SessionsCount - количество параллельных действий в каждом сценарии
    • TestingDurationInSeconds - продолжительность выполнения нагрузочного тестирования в секундах
    • WarmUpDurationInSeconds - продолжительность "разогрева" в секундах
  2. В консоли перейти в папку с проектом PerfTests
  3. В консоли выполнить команду dotnet test
  4. По окончании выполнения тестирования, в папке RestService\PerfTests\bin\Debug\netcoreapp2.2\reports можно будет увидеть отчет по проведенному тестированию (в форматах HTML/CSV/MD/TXT), пример отчетов лежит в корне репозитория ReportsExample.7z

About

Test task

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published