我正在使用連接到外部供應商的應用程序。數據異步到達,一些應用程序的「組件」使用這些數據。數據在進入系統之前已經通過語法驗證,但是每個「組件」根據自己的規則對數據是否可用都有不同的定義。數據清理,驗證和測試驅動開發
當爲這些組件中的每一個考慮測試驅動開發時,關於清理+數據驗證的設計的「最佳實踐」是什麼?假設這裏COMPONENT1_VALIADTION和COMPONENT_1將有單獨的測試用例。如果數據首先經過COMPONENT1_VALIADTION,那麼component_1,2,3的測試用例和實現是否可以接受已清理的數據?那麼系統測試可能確保在component_x被調用之前清理數據?
EXTERNAL_DATA_SOURCE -> [ASYNC_CALLBACK -> COMPONENT1_VALIADTION -> COMPONENT_1]
EXTERNAL_DATA_SOURCE -> [ASYNC_CALLBACK -> COMPONENT2_VALIADTION -> COMPONENT_2]
EXTERNAL_DATA_SOURCE -> [ASYNC_CALLBACK -> COMPONENT3_VALIADTION -> COMPONENT_3]
理論上它也可能看起來像:
EXTERNAL_DATA_SOURCE -> [ASYNC_CALLBACK -> [ COMPONENT1_VALIADTION -> COMPONENT_1] ]
EXTERNAL_DATA_SOURCE -> [ASYNC_CALLBACK -> [ COMPONENT2_VALIADTION -> COMPONENT_2] ]
EXTERNAL_DATA_SOURCE -> [ASYNC_CALLBACK -> [ COMPONENT3_VALIADTION -> COMPONENT_3] ]
當測試的組分是[COMPONENT1_VALIADTION - > COMPONENT_X]。這樣每個組件都包含驗證本身。然而,如果我想要使用相同的驗證規則的多個組件,或者想要單獨測試驗證組件,這會使事情變得複雜化。
我試圖避免需要數據驗證的應用程序的每一層..
由於提前,
curious1
嗨milleruva,非常感謝您的回覆。你已經完美地回答了我的問題(難以理解它)。我感謝您的幫助! – user3229643