cucumber/cucumber-cpp là một trong những repo mã nguồn mở mà TopGit theo dõi, hiện có 329 sao, viết chủ yếu bằng C++. Support for writing Cucumber step definitions in C++
Tóm tắt dựng từ metadata GitHub của chính dự án — chưa có bài review TopGit. Trang sẽ tự động cập nhật khi bài review đầy đủ được xuất bản.
VÌ SAO CHƯA CÓ REVIEW
TopGit viết bài đầy đủ cho repo có nhiều sao nhất và được yêu cầu nhiều nhất. Trang này là snapshot trong thời gian chờ — xem README gốc ở tab READ ME.
Cucumber-Cpp allows Cucumber to support step definitions written in C++.
Cucumber-Cpp Website
Cucumber-Cpp Documentation
Cucumber Website
Get in touch
If you need to ask a question, post on the Cucumber discussion group.
If you want to contribute code to the project, guidelines are in CONTRIBUTING.md.
Dependencies
It relies on a few executables:
cmake 3.16 or later.
Required to setup environment and build software
It relies on a few libraries:
Asio 1.18.1 or later.
Boost.Test 1.70. Optional for the Boost Test driver.
GTest 1.11.0 or later. Optional for the GTest driver.
GMock 1.11.0 or later. Optional for the internal test suite.
nlohmann-json 3.10.5 or later.
Qt6 or Qt5. Optional for the CalcQt example and QtTest driver.
TCLAP 1.2.5 or later.
It might work with earlier versions of the libraries, but it was not tested with them.
See the CI scripts for details about dependency installation.
Cucumber-Cpp uses the wire protocol at the moment, so you will need
Cucumber-Ruby installed and available on the path. It is also needed
to run the functional test suite.
Please mind that Cucumber-Cpp is not compatible with Cucumber-Ruby 3.x
due to a bug in its wire protocol
implementation.
To get an inspiration on how to set up the dependencies on your specific system (Windows or Linux), you may want to have a look at the
workflow files for Windows and for Linux.
(This is a great explanation by paoloambrosio copied from stackoverflow)
The way Cucumber-CPP currently works is by having Cucumber-Ruby connecting to a TCP port where the C++ implementation is listening. When the wire protocol is defined in the cucumber.wire file, with host and port where your C++ wire protocol server is listening, Cucumber-Ruby will try and run them with Cucumber-CPP.
C++ is a compiled language, so step definitions must be compiled first. The examples provided use CMake, as described in the README. Cucumber-CPP needs to be linked to the step definitions and to everything that they use (usually the application under test), creating an executable file that will listen to the wire protocol port (defaults to localhost:3902) for Cucumber-Ruby to connect to (and exiting when it disconnects).
Here is a basic example on how to get started with cucumber-cpp. First you need to create the basic feature structure:
cucumber --init
Then create a cucumber.wire file in the features/step_definitions folder with the following content:
host: localhost
port: 3902
Create your first feature (an example is available here).
Then create your step definition runner (an example is available here). In order to compile the step definition runner, make sure to add cucumber include directory to the include path and link with libcucumber-cpp.a and additional testing libraries (boost unit test).
Run the step definition runner in the background and then cucumber, like in the Calc example in the previous section. The step definition runner should exit after the feature is run and cucumber exits.
Có — cucumber/cucumber-cpp phát hành theo license MIT, nghĩa là mã nguồn mở để đọc, fork và (tùy license) tái sử dụng. Mã: github.com/cucumber/cucumber-cpp.
cucumber/cucumber-cpp có tag gì không?
Bản đồng bộ chưa ghi nhận topic GitHub nào cho cucumber/cucumber-cpp. GitHub topics hiển thị ở thanh bên phải trang repo — đó là nơi đáng kiểm tra nhất.
cucumber/cucumber-cpp có website riêng không?
TopGit chưa ghi nhận URL trang chủ cho cucumber/cucumber-cpp. Phần README ở tab phía trên thường có link demo, hoặc xem mô tả GitHub của repo.
cucumber/cucumber-cpp còn đang phát triển không?
Commit gần nhất trên cucumber/cucumber-cpp là 27 ngày trước (theo timestamp GitHub). Repo có 139 fork — một chỉ báo về mức độ quan tâm của cộng đồng.
cucumber/cucumber-cpp dùng license gì?
cucumber/cucumber-cpp phát hành theo license MIT. Nên mở file LICENSE trên GitHub để xác nhận — license metadata đôi khi lệch với thực tế dự án.
Đọc thêm về cucumber/cucumber-cpp ở đâu?
Trang TopGit này là một snapshot — tab "Readme" hiển thị nguyên văn README của repo (đã bỏ link, giữ ảnh). Repo GitHub ở github.com/cucumber/cucumber-cpp là nguồn chính thức.
Đọc đầy đủ README ở tab phía trên.
Chưa chắc cucumber-cpp có hợp với bạn?
Để ChatGPT, Claude hoặc Perplexity tìm hiểu giúp — bấm bên dưới và xem AI nói gì về cucumber-cpp.