testng - 为什么推荐使用 TestNGCitrusTestRunner 而不是 TestNGCitrusTestDesigner?
问题描述
由于我设置 Maven 项目的方式,默认示例测试类建议在使用 Citrus 版本 2.7.6 时使用 TestNGCitrusTestDesigner 扩展测试类。因此,我与 Designer 一起进行集成测试。
在对使用 Designer 设置的项目进行故障排除时,我多次遇到此语句:
“建议您使用TestNGCitrusTestRunner。”
除了 Runner 应该与 Citrus 2.7.5 或更高版本一起使用之外,该声明没有得到进一步声明的支持,例如 Designer 可能已过时或有故障。
为什么推荐它?与 Designer 相比,Runner 在使用上是否有优势?设计师真的过时了吗?
解决方案
设计器实现将在设计时首先将所有测试操作读入完整的测试用例。一旦在设计时通过 Java DSL 完全构建了测试用例,整个测试用例就会在运行时步骤中执行。
运行器实现在设计时和运行时之间没有分离。测试用例及其操作在使用 Java DSL 构建时立即执行。这种方法对开发人员来说感觉更自然,因为您可以立即访问测试操作的结果,并且可以调试运行程序的执行。
设计器无法按照您的预期执行调试会话。除此之外,设计者无法在测试操作之间混合自定义 Java 代码。
设计器和运行器实现确实支持准确数量的操作和 Java DSL fluent API。由于开发人员不断抱怨设计时间与运行时分离,设计器方法在未来可能会被弃用。
不过,Citrus 团队仍有待完成的任务来加强样本和文档中的 runner 使用。
另请参阅 Citrus 文档,该文档试图通过具体示例解释不同的设计器和运行器方法:https ://citrusframework.org/citrus/reference/html/index.html#writing-test-cases-in-java
推荐阅读
- wordpress -
链接中断代码在function.php(Polylang)中不起作用 - html - 我如何使用引导程序在输入框中添加按钮
- javascript - jQuery 和 HTML,如何在下拉切换菜单中使用本地存储
- time - ffmpeg - 避免生成文件的持续时间近似
- c - C 如何简化这个 For 循环
- asp.net-mvc - 无法使用剃须刀页面在 asp.netcore 中保存下拉列表
- python - 如何从代码中的任何位置访问用户 uid?
- python - 绕过python中的递归限制
- c# - 操作通过引用传递给另一个类的对象的数据
- python - 从被调用函数中检索值