我的應用程序有一個自定義服務器組件。如何重新使用集成測試的單元測試
我們有一些JUnit測試用例,用於模擬數據庫層的JMockit。
對於集成測試,我們最終有很多類似的條件來檢查。唯一的區別是,我需要序列化的東西,併發送到套接字,而不是隻是打電話。
是否有任何(簡單)的方式來概括測試,以便我可以爲這兩個測試指定一次這些條件?
我的應用程序有一個自定義服務器組件。如何重新使用集成測試的單元測試
我們有一些JUnit測試用例,用於模擬數據庫層的JMockit。
對於集成測試,我們最終有很多類似的條件來檢查。唯一的區別是,我需要序列化的東西,併發送到套接字,而不是隻是打電話。
是否有任何(簡單)的方式來概括測試,以便我可以爲這兩個測試指定一次這些條件?
您可以將規則添加到您可以從集成測試和單元測試引用的文件中。
你應該把它寫在某種特定領域的語言,可以通過非技術性風險承擔者閱讀,但也可以解析,如:
discount: 10% for: orders over $10
discount: 20% for: orders over $40
discount: 30% for: orders over $100
> Is there any (simple) way to generalize the tests so that I can
> specify those conditions once for both tests?
你可以把測試分爲一個基類使用構建輔助對象的虛擬FactoryMethod。
你的unittest和integrationtest繼承自那個類。 FactoryMethod的實現可以創建一些模擬對象或一些真實對象。
你的單元和集成測試只是需要應用stattdard概念的主碼流的另一塊代碼。因此,像編寫可重用代碼,使用設計模式,編碼到接口以及最終持續重構等事情對於測試也同樣適用。
繼SO線程有更多的建議:
希望有所幫助。
+1好問題 – Nilesh 2011-05-25 14:48:10