我希望默认情况下为所有restAssured响应和请求启用日志记录。
这就是我的所作所为:
RestAssured.requestSpecification = new RequestSpecBuilder().
setBaseUri("api").
setContentType(ContentType.JSON).
build().
log().all();
RestAssured.responseSpecification = new ResponseSpecBuilder().
build().
log().all();
requestSpecification工作正常,但有了responseSpecification,我得到:
由于未定义请求规范,因此无法配置日志记录。 您可能在滥用API。
我真的不想在每次之后使用log()。all()。
答案 0 :(得分:10)
将这行代码放在您的@BeforeClass
方法上,每个给定的调用都将创建一个日志,就像在每个给定之后使用log.all()一样:
RestAssured.filters(new RequestLoggingFilter(), new ResponseLoggingFilter());
答案 1 :(得分:7)
将日志记录过滤器添加到RestAssured的默认值,请参阅here。
答案 2 :(得分:1)
我认为您需要查看日志然后测试失败,在这种情况下,请放心使用此配置:
RestAssured.enableLoggingOfRequestAndResponseIfValidationFails();
答案 3 :(得分:0)
您可以在类级别定义过滤器
public ClassName() {
filters(new RequestLoggingFilter(), new ResponseLoggingFilter(), new ErrorLoggingFilter());
}