我目前正在編寫Java客戶端服務器應用程序。所以我想實現兩個庫,一個用於客戶端,一個用於服務器。客戶端服務器通信有一個非常嚴格的協議,我不想用JUnit進行測試。HowTo單元測試客戶端服務器代碼
作爲使用Maven和Husdon服務器繼續集成的構建工具。
其實我沒有任何好的想法如何測試這些客戶端/服務器庫。
我有以下方法:
剛剛寫了一個虛擬的客戶端測試服務器,並寫一個虛擬服務器來測試客戶端。 缺點:不幸的是,這會導致許多額外的工作。我不能100%確定客戶端和服務器可以一起工作,因爲我不確定測試是否完全相同。
編寫一個測試項目,一起測試客戶端和服務器。
缺點:單元測試不屬於自己的項目,所以哈德森不會自動運行它們。每個在這些庫之一改變任何東西的人都必須手動運行測試以確保一切正確。我也不會收到任何代碼覆蓋率報告。
有沒有更好的方法來測試這樣的代碼? 也許測試一個Maven Multi Module Project或類似的東西。
我希望任何人都能爲這個問題找到一個好的解決方案。
謝謝。
嗯,這接縫是完全以實現對服務器和客戶端的獨立單元測試的方式。事實上,這將導致將常量複製粘貼到兩個項目中,並因此實現「虛擬客戶端」/「虛擬服務器」。這是我上面列出的第一種方法。 – StaticBR 2010-10-14 08:31:39
爲什麼你把客戶端和服務器放到不同的項目中? *困惑*無論如何,如果你真的想這樣做,那麼創建第三個單元測試項目,導入其他兩個項目,所以你只需要一次常量。 – 2010-10-14 08:55:35
嗯,兩個項目,因爲客戶端必須去低資源設備。測試項目是我已經列出的第二種方法。我還寫了這種方法的缺點。 – StaticBR 2010-10-14 09:04:07