java - 如何在放心的测试用例中重用 oauth2 令牌
问题描述
假设我有一个这样的测试用例
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().oauth2(API_TOKEN)。从所有测试用例?
这也是可以通过 TestRule 完成的事情,因此甚至可以删除 line spec(..) 吗?
解决方案
您可以像这样在规范中添加 auth 和 param:
RequestSpecification requestSpec = new RequestSpecBuilder().
setContentType(ContentType.JSON).
addHeader("Authorization", "yourtoken").
addParam(yor param). // or you can add body like set.body
build();
推荐阅读
- sybase - Sybase 监控更新 LastUpdateDate null
- python - Python SQLAlchemy查询不同的返回列表列表而不是dict
- python - Pandas - 检查列是否包含字符串的子字符串
- java - SpringBoot:@Validated 和 @PreDestroy 创建名为“defaultValidator”的 bean 时出错
- javascript - 使用 fireEvent 传递自定义事件属性(测试库和笑话)
- objective-c - 将 SSL 证书嵌入 iOS 混合移动应用程序
- php - 将可执行的 Html 文件上传到 QR 码
- android - 如何使用 childFragmentManager 从另一个片段打开一个片段?
- python - 使用来自用户输入的 .extend 填充空列表
- android - 关于 Google Android Publisher API 的问题(500 错误)