Я предпочитаю, чтобы мои обработчики не обладали инфраструктурой ASP.NET, которую очень сложно проверить (да, даже в ASP.NET Core). Но иногда это происходит, и у вас есть зависимость, такая как UserManager (я хотел бы узнать, почему однажды это не интерфейс), HttpContext и т. Д., А модульные тесты превращаются в насмешливый ад.ASP.NET-инфраструктура в обработчиках MediatR
Я попытался использовать тестирование интеграции, чтобы справиться с этим, создав TestServer и получив всю инфраструктуру ASP.NET для каждого вызова api. Он работает довольно хорошо, но иногда кажется излишним, если я хочу проверить простую логику моего обработчика. И хотя он решает техническую проблему издевательской инфраструктуры ASP.NET, он сохраняет архитектурную проблему (если вы так считаете) о наличии инфраструктуры ASP.NET в своих обработчиках.
Хотелось бы узнать, какие рекомендуемые подходы к его решению?
Если вас интересует абстрагирование UserManager и Identity, взгляните на ответ, который я привел здесь: http://stackoverflow.com/a/38464229/5233410 – Nkosi
Я нашел [это] (https://lostechies.com/) jimmybogard/2016/10/24/vertical-slice-test-fixtures-for-mediatr-and-asp-net-core /) и [this] (https://lostechies.com/patricklioi/2016/01/27/ мощная интеграция-тестирование /), чтобы быть очень полезной в том, чтобы держать обработчиков чистыми и легко проверяемыми. Сообщения от Джимми Богарда и Патрика Лиои соответственно. – trevorc
@trevorc, это отличные подходы. Не могли бы вы ответить и ответить о своем опыте? – SiberianGuy