首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Bdd黄瓜问题

Bdd黄瓜问题
EN

Stack Overflow用户
提问于 2020-07-20 17:21:01
回答 2查看 149关注 0票数 0

我刚开始研究BDD黄瓜。我使用scala编写测试用例。我试图在步骤定义中使用场景大纲和传递参数。我的代码如下。

代码语言:javascript
复制
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   |

现在,在我的时间条件下,我试图获得以下参数

代码语言:javascript
复制
When("""^A data of \"([^\"]*)\" is received$""") {
(type: String) => 
//My code
}

现在,在运行我的代码时,我每次都会收到以下错误。

代码语言:javascript
复制
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()
}

虽然我的密码在什么时候。另外,如果我不使用场景大纲,那么它可以正常工作,但我希望在代码中使用场景大纲。

  1. 我正在使用特性文件中的标记来运行我的测试用例。当我使用命令sbt test @tag1运行我的测试用例时,测试用例执行得很好,但是当在cmd上运行完所有测试用例时,我会得到以下错误:

错误预期的“;”错误@tag1

我试着在标签后面加上";“,但是仍然会出现相同的错误,这个问题是什么,我如何解决它?

  1. 我的应用程序中有4-5个特性文件。也就是说有4-5个标签。到目前为止,我想运行的测试用例是,我给出了特性文件的路径,并在我的Runner类中用步骤调试了它。如何在我的Runner类中提供所有标记,以便我的应用程序在启动时逐个运行所有测试用例?
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-07-20 17:26:21

您缺少了<type>周围的双引号

代码语言:javascript
复制
When A data of "<type>" is received
票数 0
EN

Stack Overflow用户

发布于 2020-07-24 11:33:26

只是一些一般性的建议。

当cuking使事情尽可能简单的时候,专注于清晰和简单,不要担心重复。

如果您编写了两个简单的场景,您的任务就会简单得多。

代码语言:javascript
复制
Scenario: Personal data
  Given Portal is running
  When personal data is received
  Then personal data should be persisted

Scenario: Professional data
  ...

其次,不要使用标记来运行您的功能,您还不需要标记。

如果你避免场景轮廓,正则表达式,标签,转换等等,你可以更有效的剪裁。黄瓜的主要力量在于用自然语言来清晰地表达自己。专注于此,保持简单.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63000702

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档