说我有一个这样的测试用例
given().
auth().oauth2(API_TOKEN).
param("name", "new name").
when().
post(API_HOST + "/create").
then().
statusCode(200);
按照此示例https://github.com/rest-assured/rest-assured/wiki/Usage#specification-re-use,我可以创建这样的方法
public static RequestSpecification setBaseUri() {
RequestSpecBuilder builder = new RequestSpecBuilder();
builder.setBaseUri(API_HOST);
return builder.build();
}
现在测试用例变成这样
given().
spec(setBaseUri()).
auth().oauth2(API_TOKEN).
param("name", "new name").
when().
post("/create").
then().
statusCode(200);
但是如何通过指定的API_TOKEN与oauth2一起传递auth,这样我也可以从所有测试用例中删除行 auth()。oauth2(API_TOKEN)?
这还可以通过TestRule完成,以便甚至删除行spec(..)吗?
答案 0 :(得分:0)
您可以像这样在规范中添加auth和param:
RequestSpecification requestSpec = new RequestSpecBuilder().
setContentType(ContentType.JSON).
addHeader("Authorization", "yourtoken").
addParam(yor param). // or you can add body like set.body
build();