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