我正在使用 Specflow (C# cucumber) 使用 BDD 方法开发一个六边形应用程序。
我想实现自动化场景系统测试,运行核心并在内六边形的端口而不是生产适配器上注入测试双。
我也在使用组合根模式,这意味着核心依赖关系是在核心之外解决的:这对我来说已经很臭了(解决核心对注入适配器的外六边形的依赖关系是正确的,但是呢?核心的内部依赖关系?)。
通常测试类以它们的方式解决依赖关系,注入测试替身,但现在它们也必须能够组装核心。所以现在我们在解决核心的依赖关系方面没有一个事实,因为测试必须复制组合根,如果生产组合根替换核心的内部服务修改和破坏其行为,自动化测试仍然是绿色的,导致测试组合根仍然注入服务的旧实现。
这个问题的正确解决方案是什么?谢谢