黄瓜+ TestNG和黄瓜+ JUNIT比较

时间:2018-05-14 10:11:58

标签: cucumber

任何人都可以帮助我理解使用Cucumber + TestNG而不是使用Cucumber + Junit有什么区别或优势?

4 个答案:

答案 0 :(得分:0)

TestNG和Junit只是一个单元测试框架,当您将Cucumber与Junit一起使用时,您可以在步骤定义文件中使用Junit Annotation / Assertions,类似地,当您将Cucumber与TestNG一起使用时,您可以在步骤定义文件中使用TestNG Annotation / Assertions。

答案 1 :(得分:0)

实际上,在两种情况下,您都将使用硒来编写测试步骤,并且可能会使用JUnit或TestNG中的类来运行Cucumber Feature文件。 据我所知,我使用此类文件的唯一位置是创建TestRunner.java类时的位置。

使用JUnit更加容易,因为您只需导入 org.junit.runner.RunWith 。但是,如果您使用的是TestNG,则需要使用dataProviders并进行一些复杂处理创建TestRunner类的路径

除此之外,没有其他区别,因为您将使用黄瓜功能进行测试。

由于上述优点,我建议在脚本编写中使用JUnit + Cucumber + Selenium

答案 2 :(得分:0)

TestNG提供了更多@BeforeSuite之类的注释。

TestNG它自己为Junit提供支持。

随着最新黄瓜(4.0)的升级,黄瓜-TestNg提供了方案级别的并行执行,而Junit提供了功能级别。

答案 3 :(得分:0)

我尝试了两者,但是决定使用JUNIT 4.12(JUNIT 5似乎还不能与黄瓜一起使用)。它拥有您所需的一切。但是我想我必须在Test NG中测试该并行事物。 ;)

我在Spring Boot项目中使用Cucumber,因此JUNIT不会对我造成任何问题。我可以在这里将浏览器实例移交给多个类(@Autowired),这使我的代码更具模块化性。

您可能会在Test NG中使用更多的注释选项,但是以某种方式,我感觉到更多的人在使用JUnit,因此您在这里拥有更多的支持和更大的社区。