4.1. Design of Cucumber for C/C++

There’s a difference between how we use behave for BDD - Python, and how we run BDD for C/C++ based project. In order to run BDD for C/C++ based projects, the Ruby counter part Cucumber comes into picture.

Here is a message sequence chart to explain how Ruby / C++ and the feature/scenario files come into picture.

sequenceDiagram actor User participant ruby as Cucumber (Ruby) participant cpp as Cucumber (CPP) participant ftr as Feature/Scenario Files User -) cpp : Start CPP Executable activate cpp User ->> ruby : Run Cucumber activate ruby ruby -->> ftr : Read Feature/Scenario Files Note over ruby, cpp: Scenarios & Steps rect rgb(191, 223, 255) ruby ->> cpp : Run Steps using Wire Protocol cpp -->> ruby : Result Note over ruby, cpp: More Scenarios & Steps ... end ruby -X cpp : Close() deactivate cpp deactivate ruby note over User, ruby: User inspects the results