我正在編寫一個應用程序,它使用第三方庫在虛擬機上實例化並進行一些操作。何時不使用集成測試
起初我正在爲應用程序的每個功能編寫集成測試。但是他們發現這些測試並沒有真正的幫助,因爲我的環境必須處於確定的狀態,這使得測試變得越來越難以編寫。我決定只做單元和驗收測試。
所以,我的問題......是否可以有方法或線索通知集成測試不被使用? (或者我錯了,在所有情況下都應該寫出來)
我正在編寫一個應用程序,它使用第三方庫在虛擬機上實例化並進行一些操作。何時不使用集成測試
起初我正在爲應用程序的每個功能編寫集成測試。但是他們發現這些測試並沒有真正的幫助,因爲我的環境必須處於確定的狀態,這使得測試變得越來越難以編寫。我決定只做單元和驗收測試。
所以,我的問題......是否可以有方法或線索通知集成測試不被使用? (或者我錯了,在所有情況下都應該寫出來)
當你不打算把應用程序實際掛鉤到任何「真實」沒有真正的容器,數據庫,資源或實際服務。這就是集成測試應該驗證的內容;一切正常工作在一起。
集成測試適用於測試具有明確定義的輸入和輸出且不可能改變的完整系統。如果您的預期輸入/輸出經常發生變化,那麼維護測試可能會成爲維護挑戰,或者更糟糕的是,您可能選擇不改進接口,因爲升級集成測試可能需要進行大量工作。
最簡單的和短期的規則是:測試在集成測試什麼突破由於集成和單元測試隔離測試休息。
你甚至可以hate integration tests。爲僅使用一個整數參數的函數編寫單元測試已足夠困難。所有可能的狀態組合(內部和外部(時間,外部系統))和輸入可以使集成測試幾乎不可能(對於體面的應用)。