【问题标题】:Other than DSL what is the utility of Cucumber over TestNG and Junit and how to use @Test annotations with Gherkin's Given When Then annotation?除了 DSL 之外,Cucumber 在 TestNG 和 Junit 上的效用是什么,以及如何将 @Test 注释与 Gherkin 的 Given When Then 注释一起使用?
【发布时间】:2018-03-23 21:59:42
【问题描述】:

我有 2 个问题。

  1. 我知道域特定语言可用于在 cucumber 中编写验收案例,但在执行这些步骤时,@Given、@When、@Then 注释会在步骤定义中使用,那么如果不必使用 dataprovider 或分组或并行使用 IDE 执行并运行它,那么是否需要 TestNg 或 Junit?
  2. 由于@Test 通常用于一个完整的测试场景时只使用了TestNg,所以当Cucumber 也被使用时是否需要使用@Test 注解,如果是,那么它如何与@Given 一起使用,@When ,@那么?

【问题讨论】:

  • 根据谁对测试做出贡献,cucumber 在进行测试时应考虑到TDD/BDD。请参阅Agile,了解有关您为什么要这样做的更多详细信息。

标签: selenium cucumber testng


【解决方案1】:

广告 1。 使用 Gherkin 的好处是具有非程序员也可以阅读的规范。 将 Gherkin 与 Cucumber 一起使用的好处是您可以自动化这些规范以进行自动化测试或可执行规范。 使用 Cucumber 进行自动化的另一个好处是,步骤的实现可以重用,这使得添加类似的测试场景变得更加容易。 (这种步骤的可重用性不适用于单元测试工具,尽管有人可能会认为它们更容易编写。) 必须实现步骤定义的缺点是必须实现步骤定义,这可能需要一些时间。一些开发人员认为这过于冗长。所以我只会在它为与非技术人员的交流带来附加价值的情况下才会这样做。

注意 1:您仍然需要 JUnit(或 TestNg)作为断言库。

注2:Cucumber 本身不支持并行执行。

广告 2。 您不需要在 Cucumber 中使用 @Test 注释

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-18
    • 2016-04-22
    相关资源
    最近更新 更多