Allure Reports for C++ Tests
Unofficial C++ Adapter for the Allure Framework
Test report generation made easy
Section titled “Test report generation made easy”#include <gtest/gtest.h>
#include <allure-cpp.h>
using namespace allure;
class LandingPageTests : public ::testing::Test {
public:
static void SetUpTestSuite() {
suite()
.name("My Test Suite")
.description("This is what your annotated testcases look like.")
.epic("library demo")
.severity("critical");
}
};
TEST_F(LandingPageTests, testWithSteps) {
test()
.name("Test with multiple steps")
.feature("Step-by-Step Execution")
.story("User can track test execution with detailed steps");
int result = 0;
step("Initialize value to 5", [&]() {
result = 5;
});
{
auto s = step("alternative step syntax");
result *= 2;
}
step("Add 3 to value", [&]() {
result += 3;
});
step("Verify result is 13", [&]() {
EXPECT_EQ(13, result);
});
}// Include allure-cpp.h BEFORE CppUTest headers to avoid conflicts with CppUTest's new/delete overrides
#include <allure-cpp.h>
#include <CppUTest/TestHarness.h>
using namespace allure;
TEST_GROUP(LandingPageTests)
{
void setup() override
{
suite()
.name("My Test Suite")
.description("This is what your annotated testcases look like.")
.epic("library demo")
.severity("critical");
}
};
TEST(LandingPageTests, TestWithSteps)
{
test()
.name("Test with multiple steps")
.feature("Step-by-Step Execution")
.story("User can track test execution with detailed steps");
int result = 0;
step("Initialize value to 5", [&]() {
result = 5;
});
{
auto s = step("alternative step syntax");
result *= 2;
}
step("Add 3 to value", [&]() {
result += 3;
});
step("Verify result is 13", [&]() {
CHECK_EQUAL(13, result);
});
}