[英]Cucumber Java: Does not recognize a Long data type
我正在嘗試為Java中的REST端點創建一個黃瓜測試。 我使用的黃瓜版本是:3.0.2。
這是一個GET請求,並接受1個類型為Long的參數。 我得到錯誤:
線程“主”黃瓜.runtime.CucumberException中的異常:無法為“ parameter carrierTender {Long}”創建黃瓜表達式。 看來您沒有注冊參數類型。
功能文件如下:
Scenario Outline: Get the purchase tender data for a given carrier tender id
Given parameter carrierTender <carrier_tender_id>
When the Purchased Service requests purchase tender data
Then the result has a return Code <return_code>
And a purchase tender record is returned
Examples:
| carrier_tender_id | return_code |
| 12345678 | 200 |
步驟定義如下:
@Given( "parameter carrierTender {Long}")
public void parameterCarrierTenderCarrierTenderId(Long arg0) {
carrierTenderId = arg0;
}
@When("the Purchased Service requests purchase tender data")
public void purchasedServiceRequestsPurchaseTenderData() throws URISyntaxException, IOException {
// String purchaseTenderPathValue = "purchaseTender/" + Long.valueOf(carrierTenderId);
URIBuilder uriBuilder = new URIBuilder(getRequest.getURI() + "purchaseTender")
.setParameter("carrierTenderId", String.valueOf(carrierTenderId));
LOGGER.info("URL Request: {}", uriBuilder.getPath());
getRequest.setHeader("Accept", "application/json");
getRequest.setHeader("Content-type", "application/json");
getRequest.setURI(uriBuilder.build());
getResponse = httpClient.execute(getRequest);
LOGGER.info("Response: {}", getResponse.toString());
}
@Then("the result has a returnCode {int}")
public void onSuccessfulResultTheResultHasAReturnCode(int arg0) {
assertEquals(arg0, getResponse.getStatusLine().getStatusCode());
}
@And("a purchase tender record is returned")
public void purchaseTenderRecordReturned() {
assertNotNull(getResponse.getEntity());
}
黃瓜不識別長數據類型嗎? 它在黃瓜文檔中說是這樣做的,所以我不確定這是數據類型還是其他類型。
這很愚蠢。。。我將數據類型從Long
更改為long
並被識別。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.