我有幾個代碼測試代碼的文件(它使用「單元測試」類)。如何組織實時數據完整性測試和代碼單元測試?
後來我發現它也會很好地測試數據庫的完整性。我把它放到一個單獨的目錄樹中。 (類似鍵的東西有正確的格式,父節點和子節點都指向正確,等等。編輯:這是一個nosql項目,我不能依賴數據庫級別檢查liek參照完整性等)。
我使用完整性測試相同的單元測試類。
現在我想知道保持這種分開是否真的有意義。爲了測試數據的完整性,我經常複製用於測試處理數據的代碼的部分代碼。
但它是不一樣的。代碼測試使用測試數據庫(每次測試後刪除)和完整性測試連接到實時數據並進行分析。我希望從cron調用完整性測試,並在活動數據庫中發生事件時發送警報。
你會如何處理?這樣的設置是否有標準?你有什麼經驗?
我的傾向是將所有內容放在同一個文件中,這會導致代碼測試也被生產環境中的cron執行。
編輯:也驅使我嘗試保持項目簡單,並且不要讓單個任務或工作流觸及太多文件。沒有所有的測試,我已經有了一個類文件,一個子類,一個相關的類,一些庫(helper)文件和主代碼。測試添加一個文件。它可以幫助我在編碼時集中注意力,減輕壓力,並且我相信我可以減少錯誤,並且可以更快地記住並找到影響較小文件的特定代碼部分。每個工作流程只有一個測試文件可以幫助您。如果我保持獨立,則有2個文件(數據完整性測試和代碼測試),也可能有3個(兩者都有一個通用庫)。抽象會增加複雜性。
EDIT2:我現在重構一點點,只有數據測試文件移動到同一個目錄樹,其中還有代碼測試的生命,但保持不同的文件名爲表示「誠信」或「測試」。我還沒有(合併)這些文件,因爲有兩個人反對,現在我相信他們的經驗和建議。目前我將與代碼複製一起生活。
編輯3:我忘了提及每次運行測試的選擇不是由樹結構決定的。測試枚舉在主文件中,所以我目前有2個主文件「完整性」和「代碼測試」,並且測試可以存在於同一個directury結構中。
也許更多人會回答。感謝您的寶貴意見,這已經幫助我開發最終結構!
編輯4:我現在做了更多的重構。看來我應該保留2個文件,但略有修改的目的。一個針對生產服務器上的預定監控。另一個發展。但是在兩個文件中都可以進行完整性測試或代碼測試。在這兩個文件中,操作都可以在測試數據庫(測試後擦除)和永久性數據庫(每個數據庫都有一個永久性數據庫,生產服務器和開發服務器)上執行。還有一件重要的事情:我發現自己將大量通用代碼從測試文件移動到類文件。所以這些類也會獲得僅用於測試的功能。我喜歡這個,感覺很乾淨。我還沒有創建一個在兩個測試前端之間共享的測試庫,這段代碼已經到了目前正在嘗試的obejct的類文件中。
請注意,下面的評論與「user89021」簽署,但它是我,karlthorwald。我無能爲力。
謝謝。我沒有指定,因爲我想避免使用語言標記我的問題。圖書館,對象,繼承,這裏的一切可能。 – user89021 2010-04-25 08:12:08
接受答案並不容易,因爲他們都很好,幫助了我。非常感謝你。 – user89021 2010-04-26 09:09:20