由于我设置Maven项目的方式,默认示例Test类建议在使用Citrus 2.7.6版时使用TestNGCitrusTestDesigner扩展Test类。因此,从那时起我就与Designer一起进行集成测试。
在对使用Designer设计的项目进行故障排除时,我多次遇到此语句:
“建议您使用TestNGCitrusTestRunner。”
此语句未得到其他语句的支持,例如设计器可能已过时或有缺陷,除了Runner是应在2.7.5或更高版本的Citrus中使用。
为什么推荐?与Designer相比,Runner在使用方面是否具有优势?设计师真的过时了吗?
答案 0 :(得分:0)
设计器实现将在设计时首先将所有测试动作读入完整的测试用例中。一旦在设计时通过Java DSL完全构建了测试用例,整个测试用例就会在运行时步骤中执行。
runner实现在设计时间和运行时之间没有分隔。使用Java DSL构建测试用例及其动作将立即执行。对于开发人员来说,这种方法更加自然,因为您可以立即访问测试操作的结果,并且可以调试运行程序执行。
设计器无法执行您期望的调试会话。此外,设计人员无法在测试操作之间混合自定义Java代码。
设计器和运行器实现确实支持确切数量的操作和Java DSL流利API。随着开发人员不断抱怨设计到运行时分离的时间,将来可能不赞成使用设计器方法。
尽管如此,Citrus团队仍然需要在样本和文档中加强对转轮的使用。
另请参见Citrus文档,该文档尝试通过一个具体示例来解释不同的设计者和跑步者方法:https://citrusframework.org/citrus/reference/html/index.html#writing-test-cases-in-java