2010-07-23 59 views
3

我正在開發一個servlet應用程序,我使用JWebUnit來檢查所有基本的響應,但現在我必須開始使用不同於GET(POST,PUT和DELETE)的其他HTTP方法。http的正確java單元測試庫是什麼?

因此,我發現HttpUnit,它看起來有我需要的支持,POST和PUT方法在那裏可用,我想我可以通過由HttpUnit支持的HEAD走過DELETE方法。

但是我發現這個項目沒有最近的活動;最後一個版本是在兩年前。所以我的問題是,如果有其他人使用的庫或HttpUnit是我的案件的權利?

謝謝。

+0

很可能您在使用JWebUnit時已經使用HtmlUnit,因爲它依賴於此實現。 – topchef 2010-07-26 07:32:30

回答

2

我推薦使用HtmlUnit。沒有對HttpUnit的不敬:我幾年前使用它,它運行良好。然而,它作爲一個項目已經死了好幾年了,特別是它幾乎不支持JavaScript,所以我轉向HtmlUnit

HtmlUnit自成立以來一直穩步發展,並且擁有傑出的Javascript支持。我用它來測試包含大量Ajax的站點,我認爲它只有一次沒有正確執行JS代碼(原來是我修復的一個小的HtmlUnit錯誤)。有很多鉤子可以幫助你測試發生了什麼。如同網站所說,「HtmlUnit被Canoo WebTest,JWebUnit,WebDriver,JSFUnit,Celerity等不同開源工具用作底層'瀏覽器'......」我還沒有使用過這些,因爲我更喜歡在Java中表達我的測試,但我知道HtmlUnit對他們來說效果很好。

+0

但HTMLUnit提供了一種使用http方法PUT和DELETE查詢URL的方法? – 4NDR01D3 2010-07-26 15:08:48

+0

是的,它只需要額外創建一個「WebRequestSettings」第一步:http://htmlunit.sourceforge.net/apidocs/com/gargoylesoftware/htmlunit/WebClient.html#getPage%28com.gargoylesoftware.htmlunit.WebWindow,% 20com.gargoylesoftware.html單元.WebRequestSettings%29 – 2010-07-26 17:14:15

+0

酷!我將其標記爲答案,原因有二:首先,HTMLUnit確實支持DELETE方法,與HTTPUnit相反,我正在尋找解決方法。其次,@gregory評論說我在使用JWebUnit的時候已經包含了它,所以我不需要添加任何其他東西到我的require庫中。 – 4NDR01D3 2010-07-27 15:04:10

3

Httpunit是一個成熟的庫。它對你正在嘗試做的事很好。

0

同意@Sasi。

還應該注意的是,項目的SVN存儲庫中會偶爾簽入。最近幾個月前,我們爲bug提供了一個補丁。所以仍然有開發人員在處理代碼。

+0

很高興知道!我沒有注意到,謝謝你的信息! – 4NDR01D3 2010-07-23 14:00:38

0

你可以試試REST Assured這使得它很容易很簡單,使http請求和驗證在Java中的響應。

相關問題