当前位置: 首页 > 知识库问答 >
问题:

除了DSL之外,Cucumber在TestNG和Junit上的作用是什么,以及如何使用@Test注释和Gherkin的Given When Then注释?

仲孙凡
2023-03-14
  1. 我知道可以使用特定于领域的语言在cucumber中编写接受用例,但是在实现这些步骤时,@givid、@when、@then注释在步骤定义中使用,那么如果不需要使用dataprovider或分组或并行执行并使用IDE运行,那么是否需要TestNg或Junit?
  2. 因为@test通常用于只使用TestNg的完整测试场景,所以当也使用Cucumber时,是否需要使用@test注释?如果是,那么它如何与@given、@when、@then一起使用?

共有1个答案

单于山
2023-03-14

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

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

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

 类似资料:
  • 问题内容: 我有以下测试: 但是JUnit报告说,测试失败了,尽管它按预期方式抛出。 我是否需要配置其他东西才能运行此程序? 我现在用 当我删除前缀时,仍然出现错误。 我得说我是在Eclipse上运行这些测试,但它配置为使用JUnit 4 Runner。 问题答案: 问题是,嵌套测试的类是的扩展。由于这是JUnit 3样式,因此注释不起作用。 现在,我的测试班是一个单独的班。

  • 问题内容: @Inject和@Resource以及@Autowired注释有什么区别? 我们什么时候应该使用它们? 问题答案: 和注释@Inject和有什么区别?@Resource@Autowired 我们什么时候应该使用它们?@Inject与@Autowire与@Resource之间的区别? @Autowired:spring专有注释(与@Inject和@Resource相反),按类型(即,通过

  • 批注类型配置 指示类声明一个或多个@bean方法,并可能由Spring容器处理以生成bean定义... @configuration类可以使用@import注释组成,与Spring XML中的工作方式相同。因为@Configuration对象是作为容器中的Spring bean管理的。

  • 问题内容: 是否可以将另一个表创建为CREATE TABLE AS并保留列的注释? 上一条语句不包括列的注释。因此,TABLE1_COPY保留无列注释。是否也在使用USER_COL_COMMENTS在新创建的表上重现相同注释的唯一方法? 问题答案: 至于DMBS_METADATA.GET_DDL,除非我缺少一些属性,否则它似乎不会产生COMMENT ON COLUMN语句。 一种方法是结合使用db

  • 我所知道的是: 注释是在java 5中添加的 注释可以在方法、类和属性中使用 注释可以在运行时、类、源代码中使用(我不知道如何使用类和源代码,以及它们的特性) 当java程序运行时,可以实现带有保留的注释,即运行时注释 我想实现一个注释,具有以下特性: > @MyAnnotation(allowMethods={xxx.doSomething}) public void getValue(){}