2014-02-11 61 views
4

我們有用Java構建的Json REST API(spring,gradle)。用java/scala/groovy進行REST API集成測試

我們希望對我們的REST API進行集成測試。

我們想在構建測試時重用通過REST API公開的Java Dto對象 - 這意味着我們必須在java/scala/groovy/etc中編寫測試。

任何關於框架/測試工具的建議,可以很容易地使用,並且儘可能減少樣板代碼?

回答

3

我會強烈建議其他司機:

https://github.com/rest-driver/rest-driver

具體來說,你需要使用服務器驅動部分:

https://github.com/rest-driver/rest-driver/wiki/Server-Driver

有很多文檔的GitHub上的該項目,但這裏是一個REST API測試的例子:

@Test 
public void getJsonResponse() { 
    Response response = get(BASE_URL + "/things/5", header("Accept", "application/json")); 
    assertThat(response, hasStatusCode(200)); 
} 

要重新使用您的DTO你可以調用response.asJSON(),然後轉換成你的DTO通過取其JSON庫使用的是(傑克遜,GSON結構等)

下面是使用它的一個完整的例子:

https://github.com/scobal/seyren/blob/master/seyren-acceptance-tests/src/test/java/com/seyren/acceptancetests/AlertsAT.java