@Test
public void getProfile() {
RestAssured.baseURI = URL.baseURL;
Response res = given().header(URL.contentType,
URL.cookieType).when().get(URL.getURL).then().assertThat().
statusCode(200).and().extract().response();
String data = res.asString();
System.out.println(data);
}
以下是测试运行的输出:
{"status_code":401,"message":"Authentication failed."}
TestNG现在将这种情况标记为PASS,即使响应不符合预期。我如何使它工作?我只想使用assertThat语句。
答案 0 :(得分:1)
您必须将测试结果保存为布尔值或数字值。
稍后,您必须使用Assert比较预期的测试结果和实际的测试结果:
Boolean testPassed = isTestPassed();
Assert.assertTrue("The test result is: "+testPassed,testPassed);
数值比较:
long testValue = getTestResponseCode();
Assert.assertEquals("Actual test respoonse code is: "+testValue,testValue);
答案 1 :(得分:0)
尝试以下任何一种方法。
given().contentType(ContentType.JSON).queryParam("text","lands").when().get("http://services.groupkt.com/country/search").then().assertThat().statusCode(200).log().all();
int actualStatusCode=given().contentType(ContentType.JSON).queryParam("page","2").when().get("https://reqres.in/api/users").statusCode();
Assert.assertEquals(200, actualStatusCode,"The status code mistatches");