Files
3ybactuk-marketplace-go-ser…/docs/homework-2/README.md
2025-05-31 10:47:47 +00:00

34 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Домашнее задание по модулю "Тестирование в Go"
Необходимо покрыть Unit-тестами слой `UseCase` для всех запросов сервиса Cart. Покрыть Unit-тестами репозиторий сервиса Cart (in-memory)
## Основное задание
1. Написаны Unit-тесты слоя `UseCase` для каждого запроса
2. Написаны Unit-тесты слоя `Repository` сервиса Cart
3. Процент покрытия тестируемых слоев должен быть не менее 60%
4. Использовать библиотеку `minimock` для создания моков (библиотека minimock — https://github.com/gojuno/minimock)
5. В `Makefile` создать команду для расчета coverage
## Дополнительное задание
1. Написать два позитивных e2e теста: для хендлеров `DELETE /user/<user_id>/cart/<sku_id>` и `GET /user/<user_id>/cart`
2. Настроить линтер для проверки цикломатической и когнитивной сложности (https://github.com/fzipp/gocyclo и https://github.com/uudashr/gocognit)
3. Написать бенчмарк для `In-memory Storage` сервиса Cart (хотя бы одну операцию — добавление/удаление и т.д.)
## Автоматические проверки
Ваше решение должно проходить автоматические проверки:
- Компиляция
- Линтер
- Unit-тесты
- Code coverage >40%
- Автотесты
Прохождение автоматических проверок влияет на итоговую оценку за домашнюю работу.
### Дедлайны сдачи и проверки задания:
- 31 мая 23:59 (сдача) / 3 июня, 23:59 (проверка)