黄瓜和柑橘框架的区别
Difference between cucumber and citrus framework
对于我的功能和技术测试,我使用黄瓜,但我的新团队除了黄瓜之外还将使用柑橘框架进行黄瓜测试 :o 。有什么不同?我可以在两者中使用相同的功能吗?为什么我们同时使用两者,我们能赢得什么?
感谢您的帮助
Cucumber 通过使用 Gherkin Given-When-Then 语法以功能规范的形式定义测试逻辑,使您能够遵循 BDD 概念。 Cucumber 然后使用 Java 和其他编程语言的单元测试代码使这些规范可执行。
Citrus 允许您在 Java 或 XML 中编写集成测试,重点关注通过各种消息传输与客户端和服务器端通信的消息集成。
为了获得支持 BDD 的集成测试,将 Cucumber 和 Citrus 结合起来是完全有用的,在这种情况下,您可以使用 Cucumber 阅读 Gherkin 功能规范,使用 Citrus 来执行测试中基于消息的集成逻辑。
事实上,Cucumber 和 Citrus 相互提供了完美的结合。 Citrus 提供预定义的 Cucumber BDD 步骤实现,用于通过不同的消息传递传输发送和接收消息。您还可以使用预定义的步骤实现在 Citrus 和 Cucumber 中使用 Selenium,这样您最终只需编写 Gherkin 功能规范,所有胶水代码都是开箱即用的。
这是此设置的示例:https://github.com/christophd/citrus-demo-devoxx-be
对于我的功能和技术测试,我使用黄瓜,但我的新团队除了黄瓜之外还将使用柑橘框架进行黄瓜测试 :o 。有什么不同?我可以在两者中使用相同的功能吗?为什么我们同时使用两者,我们能赢得什么?
感谢您的帮助
Cucumber 通过使用 Gherkin Given-When-Then 语法以功能规范的形式定义测试逻辑,使您能够遵循 BDD 概念。 Cucumber 然后使用 Java 和其他编程语言的单元测试代码使这些规范可执行。
Citrus 允许您在 Java 或 XML 中编写集成测试,重点关注通过各种消息传输与客户端和服务器端通信的消息集成。
为了获得支持 BDD 的集成测试,将 Cucumber 和 Citrus 结合起来是完全有用的,在这种情况下,您可以使用 Cucumber 阅读 Gherkin 功能规范,使用 Citrus 来执行测试中基于消息的集成逻辑。
事实上,Cucumber 和 Citrus 相互提供了完美的结合。 Citrus 提供预定义的 Cucumber BDD 步骤实现,用于通过不同的消息传递传输发送和接收消息。您还可以使用预定义的步骤实现在 Citrus 和 Cucumber 中使用 Selenium,这样您最终只需编写 Gherkin 功能规范,所有胶水代码都是开箱即用的。
这是此设置的示例:https://github.com/christophd/citrus-demo-devoxx-be