我創建了一個工廠和一組規範來創建和驗證聚合根。目前我有一些工廠的測試,稱爲工廠產品的規格,但我想知道這是否足夠。從設計角度來看,將工廠與其產品的規格相結合可能會更好,因爲它們密切相關。可以從集合工廠調用規範進行驗證,還是驗證調用屬於單元測試(DDD)?
如果使用聚合根產品的規範進行驗證而不是創建,從工廠內部調用它是否合理?
還是單元測試夠好?
我創建了一個工廠和一組規範來創建和驗證聚合根。目前我有一些工廠的測試,稱爲工廠產品的規格,但我想知道這是否足夠。從設計角度來看,將工廠與其產品的規格相結合可能會更好,因爲它們密切相關。可以從集合工廠調用規範進行驗證,還是驗證調用屬於單元測試(DDD)?
如果使用聚合根產品的規範進行驗證而不是創建,從工廠內部調用它是否合理?
還是單元測試夠好?
答案可能取決於您如何使用規範以及代碼在創建過程中是否突破。
規格幾乎可以用於任何你能想到的東西。在基本級別上,規範只是封裝到對象中的可控條件語句。如果代碼使用條件邏輯,那麼如果開發人員覺得有某些理由,那麼可以將該邏輯重構爲規範。
在實際代碼中使用規範沒有任何問題,只要它使代碼更易於使用,維護或可讀。創建僅用於測試的規範也沒有問題。規格是簡單的對象,由於大多數規格的相對簡單性,以某種方式將代碼與規範耦合似乎對維護或可重用性沒有太大負面影響。
如果使用了聚合 根產品規格爲 驗證,而不是創造, 是否有意義將其從 在工廠裏面打電話?
是的,但可能只有當你對工廠的產品有困難或缺乏信心時。
還是單元測試不夠好?
是的,從單元測試中調用規範可以足以證明工廠產品的有效性(至少是關於規範涵蓋的內容)。但是,在我的單元測試中,我並不經常使用規範,只是當我遇到困難的時候,或者它是我測試的邏輯的一部分時。