Skip to content
Welcome to the new CppUtils documentation!

Top-level builder used to declare a test suite, configure dependencies, and define its body.

std::string name;

Identifier of the test suite.

std::vector<std::string> prerequisites;

Names of prerequisite test suites that must succeed before this suite runs.

template <class... Dependencies>
auto TestSuiteBuilder::dependsOn(Dependencies&&... dependencies) -> TestSuiteBuilder&;

Adds prerequisite test suites that must succeed before executing this suite.

ParameterDescription
dependenciesPrerequisite test suite names.

Returns: Reference to this builder.

template <class... Types>
[[nodiscard]] auto TestSuiteBuilder::forTypes() -> TypedTestSuiteBuilder<Types...>;

Converts this suite into a type-parameterized test suite.

Template parameterDescription
TypesType parameter list.

Returns: TypedTestSuiteBuilder instance.

template <class... Values>
[[nodiscard]] auto TestSuiteBuilder::forValues(Values&&... values);

Converts this suite into a value-parameterized test suite over values or a range.

Template parameterDescription
ValuesValue types or single range type.
ParameterDescription
valuesValues or range to parameterize the suite with.

Returns: ParameterizedTestSuiteBuilder instance.

auto TestSuiteBuilder::operator=(auto&& function) -> TestSuiteRegistration;

Registers the test suite callback into the global test runner.

ParameterDescription
functionInvocable accepting a TestSuite&.

Returns: TestSuiteRegistration token.