【发布时间】:2019-04-24 13:02:10
【问题描述】:
我需要按特定顺序执行测试(登录、转到菜单、打开表单、执行多个测试)。早在 2014 年,我们就使用了 TestNg method dependency。这是端到端测试非常重要的特性。 JUnit 5 只有 @FixMethodOrder 功能较弱。我更喜欢 JUnit,另一方面,我在 TestNg 中缺少一些 JUnit 功能,例如 @Rule。我在 JUnit 中有一些方法依赖的解决方法,还是应该再次使用 TestNg?
【问题讨论】:
-
我认为您应该更改测试的测试设计。制定步骤(登录、进入菜单等)并在测试中使用它们。测试不应依赖于执行顺序。 JUnit5 非常好的测试框架,发展迅速,社区很大。
-
单元测试是这样,有时集成测试也是如此。使用 Selenium 或其他框架的端到端测试是具有所需特定步骤顺序的场景测试。示例:编辑用户资料,清除拳头和姓氏,尝试提交,检查错误,输入姓氏,检查缺少名字仍然有错误,输入名字,提交,检查没有错误,...包含基本步骤(登录,......)并将所有先前的步骤添加到每个测试中非常乏味。但是与单元测试相比,e2e 浏览器测试非常慢,因此测试依赖的主要原因是测试速度。
-
是的,我同意,测试执行的特定顺序可以减少完成测试套件所需的时间。我还寻找一种按特定顺序执行测试的方法,但要优化测试套件的整体运行时间。你可以在这里看到我的问题:stackoverflow.com/q/55632208/1477873
标签: selenium-webdriver testng junit5