2012-11-29 35 views
1

我有一個webapp我想測試API的穩定性。自動API穩定性測試

測試API我對包含我的API編寫的域對象的項目有依賴性,我調用api並嘗試將對象(使用spring RestTemplate)反序列化到域對象中。

當開發新版本的API時,將使用更新版本的域對象項目。 這裏的場景的畫面: enter image description here

現在我想(詹金斯在這種情況下,使用maven或螞蟻)構建服務器上運行鍼對給定的web應用測試項目的自動化的方式。問題是他們與不同版本共享一個依賴關係(所以我不能一起構建它們)。

我目前的做法是構建webapp,將其部署在jetty中,然後嘗試運行測試。事實證明這很難。

任何需要如何解決這個問題?以往的經驗?

+0

也許[Arquillian](http://arquillian.org/)比Jetty更適合這一點? –

+0

想要測試簡單的舊版本序列化對象到新版本化對象的反序列化?或者你是否真的需要測試整個域項目的不同版本? – Jay

+0

我希望看到舊版本化對象的序列化版本可以反序列化爲新版本化對象。另外,我想測試實際的REST API端點沒有改變。 –

回答

0

爲什麼webapp-tests取決於1.2-SNAPSHOT上的域1.1和webapp-api? webapp-tests工件不應該取決於與webapp-api相同的通用依賴關係嗎?如果只有不同版本的相同工件,則可以將其配置爲屬性。但我認爲它能夠更好地也添加web應用的API到項目,所以這股普通版:

  • 域(版本)
  • Web應用程序的API(取決於域)
  • Web應用程序的測試(取決於在域上,測試webapp-api)

全部共享相同的父代和相同的版本。

如果您想要針對之前發佈的版本(或其中之一)進行測試,您需要執行與cobertura-plugin類似的操作:http://mojo.codehaus.org/cobertura-maven-plugin/ 這意味着要編寫一個插件。

您是否嘗試將您要測試的依賴項添加到maven配置文件中,以便webapp-tests使用不同版本的域再次運行webapp-api?所以你可以重新運行測試來激活一個不同的配置文件。

我可能只是得到錯誤的問題:) 如果webapp測試應該包含不同的版本,那麼不要讓它取決於webapp-api或域項目?既然你進行了休息測試,那麼依賴關係可能會干擾哪些公共類路徑呢?

+0

我們正在使用不同的版本,因爲我們正在測試向後兼容性。我現在有一些工作可以讓jenkins下載,部署和啓動一個我將webapp部署到的tomcat,然後運行該測試項目......這太麻煩了。 –