我刚刚开始在我已经建立的项目上实施单元测试(使用 xUnit 和 Moq)。该项目通过统一容器广泛使用依赖注入。
我有两个服务 A 和 B。在这种情况下,服务 A 是要测试的。服务 A 调用 B 并将其委托给内部函数。此“回调”用于在收到必须处理的消息时通知 A。
因此 A 调用(其中 b 是服务 B 的一个实例):
b.RegisterHandler(Guid id, Action<byte[]> messageHandler);
为了测试服务 A,我需要能够调用messageHandler
,因为这是它当前接受消息的唯一方式。
这可以使用最小起订量来完成吗?IE。我可以模拟服务 B,以便在RegisterHandler
调用时将值messageHandler
传递给我的测试吗?
还是我需要重新设计这个?在这种情况下我应该使用任何设计模式吗?有谁知道这种设计的任何好的资源?