我正在使用一些使用衆所周知的/可怕的數據建模模式(稱爲EAV)的遺留應用程序。這使得選擇數據生成策略難以在DAL的單元測試中使用。爲什麼?因爲除了表之間的正常Fk/Pk約束(我們在可能的情況下使用)之外,還有其他的關係/約束,只有應用程序層意識到並執行。生成複雜數據庫(EAV)的單元測試數據
根據這個article,寫入和維護最簡單的數據測試是那些依賴於外部定義和靜態數據集的測試。然而,似乎試圖創建一個數據集,其中包含已經在我的應用程序層中「手工」建模的關係,這將是一個DRY違規行爲和,這是主要的PITA啓動過程。另一方面,使用我的應用程序層生成測試數據感覺更加令人厭惡,因爲它違反了單元測試的主要指令(隔離),因爲應用程序層中的迴歸可能會導致我的DAL層拋出虛假故障。因爲這個原因,我傾向於靜態數據集選項,除非其他人不得不處理EAV模型的單元測試,並且可以選擇其他選項。
非常感謝。