【发布时间】:2021-12-22 08:19:24
【问题描述】:
我正在将应用程序从 .NET 5 迁移到 .NET 6,包括集成测试
在集成测试中运行以下命令时出现错误
// Arrange
await _mediatr.Send(new MyCommand());
为 MediatR.IRequestHandler`2[MyCommand] 类型的请求构造处理程序时出错。向容器注册您的处理程序。有关示例,请参阅 GitHub 中的示例。
我从 api 中删除了启动类,只使用了 program.cs
我的情况出了什么问题?
也添加内部异常
无法从根提供程序解析“MediatR.IRequestHandler`2[Mycommand]”,因为它需要范围服务“Domain.MyDbContext”。
【问题讨论】:
-
你如何注册你的处理程序?实际上,在迁移过程中也不需要从通用托管模型更改为新的最小模型。
-
@GuruStron
codeservices.AddMediatR(Assembly.GetExecutingAssembly());code这就是我在 API program.cs 文件中注册处理程序的方式“实际上,在迁移过程中也不需要从通用托管模型更改为新的最小模型。 " -> 是的,我知道,但需要这样做:)
标签: c# integration-testing .net-5 .net-6.0 mediatr