我刚开始研究BDD黄瓜。我使用scala编写测试用例。我试图在步骤定义中使用场景大纲和传递参数。我的代码如下。
Scenario Outline: Data is parsed and persisted
Given Portal is running
When A data of <type> is received
Then The data of <type> with <Id> should be parsed and persisted
Examples:
| type | Id |
| Personal | 1 |
|Professional | 2 |现在,在我的时间条件下,我试图获得以下参数
When("""^A data of \"([^\"]*)\" is received$""") {
(type: String) =>
//My code
}现在,在运行我的代码时,我每次都会收到以下错误。
io.cucumber.junit.UndefinedStepException: The step "A data of Personal is received" is undefined. You can implement it using the snippet(s) below:
When("""A data of Personal is received""") { () =>
// Write code here that turns the phrase above into concrete actions
throw new io.cucumber.scala.PendingException()
}虽然我的密码在什么时候。另外,如果我不使用场景大纲,那么它可以正常工作,但我希望在代码中使用场景大纲。
错误预期的“;”错误@tag1
我试着在标签后面加上";“,但是仍然会出现相同的错误,这个问题是什么,我如何解决它?
发布于 2020-07-20 17:26:21
您缺少了<type>周围的双引号
When A data of "<type>" is received发布于 2020-07-24 11:33:26
只是一些一般性的建议。
当cuking使事情尽可能简单的时候,专注于清晰和简单,不要担心重复。
如果您编写了两个简单的场景,您的任务就会简单得多。
Scenario: Personal data
Given Portal is running
When personal data is received
Then personal data should be persisted
Scenario: Professional data
...其次,不要使用标记来运行您的功能,您还不需要标记。
如果你避免场景轮廓,正则表达式,标签,转换等等,你可以更有效的剪裁。黄瓜的主要力量在于用自然语言来清晰地表达自己。专注于此,保持简单.
https://stackoverflow.com/questions/63000702
复制相似问题