docker-compose up --build
Замечание: для перезагрузки базы данных выполните команду docker-compose down -v
- решение содержит проект
MinimalAPIи проектxUnit
- конфигурация приложения выполняется через переменные окружения
- unit и интеграционные тесты работают локально по команде
dotnet test - интеграционные тесты используют технологию
TestContainters, для чего нужен Docker - метрики покрытия API тестами на github pages
-
настроен ci/cd pipeline на github action на запуск тестов:
-
осуществлено развертывание на VPS:
-
глобальная обработка ошибок через
middlewareи стандартизированная модель ответа для исключений -
асинхронная работа с данными с использованием токена отмены
-
взаимодействие с базой данных
Postgresосуществляется черезEntityFrameWorkCoreпосредством механизма миграций. -
реализован выбор размерности поля игры
-
полностью настроен
openapiчерезswagger -
предусмотрена валидация на входные данные
-
состояние игры храниться базе, что способствует восстановлению процесса игры
-
реализована проверка состояния игры на идемпотентность с помощью
ETagв заголовках ответов
- установить инструмент
dotnet tool install -g dotnet-reportgenerator-globaltool - установить
coverlet.msbuildв проект xUnit dotnet test /p:CollectCoverage=true /p:CoverletOutputFormat=cobertura- перейти в тестовый проект и создать отчет:
reportgenerator -reports:"coverage.cobertura.xml" -targetdir:"coveragereport" -reporttypes:Html - отчет находится в папке
coveragerepostв виде index.html, а также развернут https://artemovsergey.github.io/TicTacToe/
- добавлены новые переменные окружения в виде вероятности замены хода и частоты шага вероятности. Теперь можно настраивать любую валидную вероятность и номер хода, на котором вероятность может сработать.
- для проверки работоспособности API реализована связь с фронтендом на Angular.