Мы активно используем MediatR в нашем приложении LoB, где мы используем шаблон команды и запроса. Часто, чтобы продолжить разработку, мы сначала выполняем команды и запросы, поскольку они являются простыми POCO.
Иногда это может привести к тому, что вы забудете создать настоящий обработчик команд / обработчик запросов. Так как нет никакой проверки во время компиляции, если на самом деле есть реализация для запроса / команды, мне было интересно, какой будет лучший подход, чтобы увидеть, есть ли реализация, и, если нет, выдать ошибку, прежде чем я смогу слиться с master.
Моя идея на данный момент: создать два теста, один для запросов и один для команд, которые сканируют все сборки на предмет реализации IRequest<TResponse>
, а затем сканируют сборки на наличие связанной реализации IRequestHandler<TRequest, TResponse>
Но это все равно потребовало бы сначала выполнить тесты (что происходит в конвейере сборки), что по-прежнему зависит от разработчика, выполняющего тесты вручную (или от настройки VS для выполнения после компиляции).
Я не знаю, есть ли для этого решение во время компиляции, и даже если это будет хорошей идеей?