mirror of
				https://github.com/3ybactuk/marketplace-go-service-project.git
				synced 2025-10-30 14:03:45 +03:00 
			
		
		
		
	Домашнее задание по модулю "Тестирование в Go"
Необходимо покрыть Unit-тестами слой UseCase для всех запросов сервиса Cart. Покрыть Unit-тестами репозиторий сервиса Cart (in-memory)
Основное задание
- Написаны Unit-тесты слоя UseCaseдля каждого запроса
- Написаны Unit-тесты слоя Repositoryсервиса Cart
- Процент покрытия тестируемых слоев должен быть не менее 60%
- Использовать библиотеку minimockдля создания моков (библиотека minimock — https://github.com/gojuno/minimock)
- В Makefileсоздать команду для расчета coverage
Дополнительное задание
- Написать два позитивных e2e теста: для хендлеров DELETE /user/<user_id>/cart/<sku_id>иGET /user/<user_id>/cart
- Настроить линтер для проверки цикломатической и когнитивной сложности (https://github.com/fzipp/gocyclo и https://github.com/uudashr/gocognit)
- Написать бенчмарк для In-memory Storageсервиса Cart (хотя бы одну операцию — добавление/удаление и т.д.)
Автоматические проверки
Ваше решение должно проходить автоматические проверки:
- Компиляция
- Линтер
- Unit-тесты
- Code coverage >40%
- Автотесты
Прохождение автоматических проверок влияет на итоговую оценку за домашнюю работу.
Дедлайны сдачи и проверки задания:
- 31 мая 23:59 (сдача) / 3 июня, 23:59 (проверка)
