2009-10-28 17 views
0

我需要在我的應用程序中使用第三方.jar庫:不幸的是,第三方應用程序的設置方式使得它幾乎不可能在我的Windows上進行測試盒子(因爲它是爲unix環境設置的 - 我會省下細節)。所以我重構了它可以測試它(改變了使用maven/spring的結構,所以屬性文件的處理更加靈活,不需要改變調用接口)。如果新版本編譯爲相同的.jar名稱/版本/等。我大概可以在本地測試它,然後在「真正的」.jar文件中編譯生成。這是愚蠢的想法嗎? (我有強烈的預感,因爲我引入了一個不平凡的依賴......)。如果是這樣,我該如何更好地測試這個庫(不需要將我自己的重構更改合併到原始代碼中)?通過「引用」而非內容測試.jar庫

+0

我們通常不會測試第三方庫,它需要測試它的第三方。不是嗎? – 2009-10-28 08:48:14

回答

2

從概念上講,您已將第三方jar拆分爲兩個 - 屬性位和其餘部分。你用自己的東西替換屬性位,然後繼續測試剩下的東西。在發佈時,您需要準備一個軟件包,其中包括您已測試的軟件以及您尚未使用的原始軟件。採取這種方法時,您介紹了哪些風險?

  1. 您發佈的代碼不會是你測試的代碼 - 這是一個不同的JAR,儘管小心處理不是一個非常不同的JAR - 所以,如果你相信自己得到它的權利,這可能是一個可以接受的風險。
  2. 您未測試的代碼已損壞。這表明至少需要在真實平臺上進行一些測試。
  3. Windows上的測試給出了與Unix上的測試不同的結果。再次表明一定程度的Unix測試。

我認爲你的觀點是務實的,並且可以通過在Unix上至少執行一些測試來減輕風險。我假設你的基於Windows的測試是爲了便於開發/調試。我會這樣做,但我會嘗試構建一個可以在Unix上運行的迴歸測試套件 - JUnit測試可以在那裏運行。

+0

這聽起來像一個,但像哼唱解釋一首歌曲到另一個曲調不是嗎? – djna 2009-10-28 08:28:50

+0

@djna:謝謝! – davek 2009-10-28 08:44:13