[英]How to use dynamic parameter name in java method?
首先我有这样的方法;
@When("^I send google-login-api with \"([^\"]*)\" token$")
public void googleLoginApi(String googleTokenSuccess) throws IOException {
String body = new String(Files.readAllBytes(Paths.get("src/test/resources/config/environments/googleLogin.json")));
JSONObject jsonObject = new JSONObject(body);
String googleToken = token.getString(googleTokenSuccess);
jsonObject.put("token",googleToken);
response = RestAssured.given()
.baseUri(prp_url)
.accept("application/json")
.contentType("application/json")
.queryParam("rememberMe","true")
.body(jsonObject.toString())
.when()
.post("/auth/google")
.then().assertThat().extract().response();
}
我用小黄瓜风格称这种方法;
Scenario: 3AF GoogleLoginSuccess
When I send google-login-api with "google token success" token
Then response status code should be 200
Then response body "deviceInfo.name" is in "Firefox, Windows 10"
当我在 BDD 结构中调用具有不同名称的令牌时( When I send google-login-api with "google token success" token
),我希望方法参数名称也发生变化。 例如,当我使用 BDD 样式调用 xyz 令牌时,方法参数 String googleTokenSuccess 参数等于 xyz。
我不是这里的专家,但根据 文档,您可能想要执行以下操作:
@When("I send google-login-api with {string} token")
public void googleLoginApi(String googleTokenSuccess) throws IOException {
// Here, googleTokenSuccess should be set to the value from the scenario
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.