2

我正在用Specflow(C#cucumber)開發BDD方法的六角形應用。六角形應用自動化測試中的組成根

我想執行自動化場景系統測試,運行核心並在內部六角形的端口上注入測試雙代替生產適配器。

我也在使用組合根模式,這意味着核心依賴關係在覈心之外解決:已經聞到了我(解決核心對外部六邊形注入適配器的依賴關係是正確的,但核心的內部依賴性呢?)。

通常,測試類以它們的方式解決依賴關係,注入測試double,但現在它們必須能夠組裝核心。因此,現在我們在解決核心的依賴關係方面沒有單一的事實,因此測試必須複製組合根,並且如果生產組合根替換核心的內部服務並修改其行爲,則自動化測試將保持綠色,導致測試組合根仍然注入舊的服務實現。

這個問題的正確解決方案是什麼? 謝謝

+2

本文可能會幫助您:http://www.dotnetcurry.com/patterns-practices/1337/automated-testing-using-composition-root-csharp –

+0

謝謝,它確實有幫助! – Rob80

回答

0

請看Robert C. Martin着的「Clean Architecture - Craftman的軟件結構和設計指南」一書的第26章(「主要組件」)。

主要組件取決於應用程序的所有其他組件,它是應用程序的入口點,它是組合根所在的位置。它會創建整個應用程序並以特定配置運行它。每個配置都有一個Main。