[英]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.