我最近遇到了Citrus框架,并试图使用它。 但我发现我可以使用Mockito来模拟外部服务来对我的代码进行一些集成测试。
使用Citrus而不是Mockito有什么特别的优势?
答案 0 :(得分:3)
我最近遇到了烤宽面条,并试图吃它。但是我发现我也可以在晚餐时吃披萨来做一些食物填饱肚子。
吃披萨比披萨有什么特别的优势?
你明白我的观点吗?您的问题太过通用,无法得到一个好的答案,因为您总是需要根据用例和您想要做的事情来决定。除此之外,Mockito和Citrus在我看来并不是真正的竞争对手,因为它们完全不同。
Mockito和Citrus都是测试框架,但它们在测试软件方面有着完全不同的目标。
Mockito用于单元测试,对所使用的类和方法有更深入的了解,因此您可以在测试一段代码时创建抽象级别。 Citrus专注于使用消息传递接口进行集成测试,其中您的测试应用程序部署在可交付状态的某个地方,并且消息确实可以通过网络传输。
目前您正在进行单元测试而非集成测试。哪个好极了!你需要进行大量的单元测试,Mockito是一个非常好的选择,可以帮助你。在某些时候,您可能希望测试您的软件,重点是在类似生产的环境中与其他组件集成,完全不同的焦点(非功能性需求,deplyoment,配置,消息传递,安全性等)。现在是时候进行集成测试,以确保您满足其他组件的接口,并确保其他组件能够以精心设计的方式调用您的服务。
您需要的测试系列的哪一部分以及您可能希望在项目中强调哪一部分完全基于要求和您的软件架构。
长句很短我建议你向后退三步,以澄清你想要/需要在你的应用程序中测试什么,然后选择帮助你实现这些目标的工具。