簡體   English   中英

如何在 java 方法中使用動態參數名稱?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM