我有一个简单的放心测试,用于验证此 json 是否带有正确的呼叫数据。由于 2 个不同版本的 ASM 的已知问题,我使用的是放心的 1.8 并且确实将 groovy jar 换成了 groovy-all jar。
我的 json 返回如下所示:
{"account":"12345"}
Run Code Online (Sandbox Code Playgroud)
我的代码如下所示:
package com.blah.tests;
import org.junit.Test;
import static com.jayway.restassured.RestAssured.given;
import static org.hamcrest.Matchers.equalTo;
public class AccountsTest {
public AccountsTest() {
}
@Test
public void getLocationAccount() {
given().
param("thingAccountIsfor","ABCD").
expect().
statusCode(200).
body("account",equalTo("10")).
when().
get("http://machine:2343/rest/accounts/getaccount");
}
}
Run Code Online (Sandbox Code Playgroud)
当我运行这个匹配我期望的帐户值时,它工作正常。当我输入一个不匹配的值时,我会得到一个堆栈跟踪:
log4j:WARN No appenders could be found for logger (org.apache.http.impl.conn.SingleClientConnManager).
log4j:WARN Please initialize the log4j system properly.
java.lang.AssertionError: 1 expectation failed.
JSON path account doesn't match.
Expected: 10
Actual: …Run Code Online (Sandbox Code Playgroud)