ไม่สามารถเล่นวิดีโอนี้
ขออภัยในความไม่สะดวก
Unit-тесты в .NET с использованием xUnit
ฝัง
- เผยแพร่เมื่อ 26 มิ.ย. 2021
- Разработка ASP NET Core Web API с нуля профессионально. Видео 13. Unit тестирование - xUnit
Часто юнит тестированию не уделяется должного внимания, а это очень важная составляющая при разработке большого продукта. В данном видео мы поговорим почему и напишем юнит тесты для нашего Web API с помощью библиотеки xUnit
Мы в Telegram: t.me/platinum_tech_talks
Чат для общения и вопросов: t.me/platinum_chat
Код из видео: github.com/andreisfedotov/Not...
People vector created by pch.vector: www.freepik.com/free-photos-v...
Во-первых, как всегда, просто восхитительно, во-вторых, спасибо за долгожданный репозиторий
Спасибо огромное за вашу поддержку!!
Как же круто, что я вас нашёл. Спасибо за видео)
Спасибо! Мы тоже очень рады, что вы нас нашли!!!
Я даже при переписывании кода допустил ошибки, но тесты решают, нашёл быстро места с ошибками. Спасибо за видео!
Вам спасибо за просмотр и отклик! Про переписывание кода - забавно 😅😅 там если что есть ссылка на репозиторий, можно копипастить)
Спасибо за труд
Спасибо вам!
Вы хороший настроечный программист! Остальное смешно!
Агонь, то что нужно)
Спасибо 🙏
Спасибо
Спасибо за видео! У меня возник вопрос: Почему при написании тестов для запросов мы не пользуемся тем же подходом как и при написании тестов для команд, т.е. просто отнаследоваться от класса? Немного подшаманив у себя я получил тот же результат, в связи с чем созрел вопрос: это просто демонстрация двух разных подходов, или есть какая-то логика в отличающимся поведении? И какой вариант вообще лучше?
Тесты жесть! Не дай бог кто-нибудь это повторит в своем проекте. Не понятно что проверяет тесты
DeleteNoteCommandHandler_FailOnWrongUserId
DeleteNoteCommandHandler_FailOnWrongId
В обоих случае исключение будет одинаковое. Тут либо исключение должно быть разное => код попахивает. У вас и там и там одинаковое исключение происходит. Нужно конкретизировать проверку.
Как быть в ситуации, если у меня в контексте БД уже seed-ятся данные?
Т.е., у меня уже конфликтуют данные из теста и в контексте.
Нормальной ли будет практикой тестировать данные, которые через HasData добавляешь в контексте?
Спасибо тебе большое за видео!
У меня при написании тестов не смог пройти только тест DeleteNoteCommandHandler_FailOnWrongUserId. Выскочило исключение о том, что при создании CreateNoteCommand не хватает инициализации поля Details, т.к. в бд оно not null.
Я потом проинициализировал его, и все стало норм, но никак не смог понять, почему у тебя и без этого работает.
Согласен, аналогичная ошибка была.
Спасибо, но немного конструктивной критики. Много писанины за которой скрывается суть видео. Не вижу никакого смысла вникать в контекст для понимании работы юнит тестов
Принято, спасибо!
привет. ты в конце видео сказал что идеально когда 80процентов кода покрыто тестами. подскажи плиз как и где выводить этот Code Coverage
как вариант утилита dotCover от JetBrains, можно прямо в Visual Studio использовать
Про покрытие он просто спизднул, что в какой-то книжке вычитал. Важно не покрытие а качество. Те тесты, которые он тут показал некачественные мягко говоря
how to generate GUID
notesContextFactory?
Это не юнит-тесты. Юнит-тесты не используют реальных зависимостей. По зависимостями понимаются unmanage ресурсы: базы данных, файловая система, мютексы, семафоры и другие ресурсы операционной системы. В конкретном эмуляторе создаётся отдельный процесс эмулирующий субд. Если создаётся процесс, то это использование ресурса ос.
Это больше похоже на интеграционные тесты.
А валидаторы не принято тестить?
Спасибо за видео, а интеграционное тестирование будет?
Спасибо 🙏 нет, интеграционного не будет..