mirror of
https://github.com/catchorg/Catch2.git
synced 2024-12-23 03:43:28 +01:00
A modern, C++-native, test framework for unit-tests, TDD and BDD - using C++14, C++17 and later (C++11 support is in v2.x branch, and C++03 on the Catch1.x branch)
80af9ca687
Parsing --list-tests is broken, as Catch automatically line wraps the line when it gets too long, stripping any whitespace in the process. This means that it's impossible to reproduce the exact name of the test if the test's name is long enough to line-wrap. Furthermore, overwriting the LABELS property with the discovered labels breaks users who manually added custom ctest labels. Rolling back to using --list-test-names-only for now, as it does not wrap lines even on very long test names. We may be able parse the output of --list-tags to produce the ctest labels. However, the straightforward way of doing this is to use CMake's get_property(TEST ...) and set_property(TEST ... APPEND ...), which don't work if the test name has spaces or other special characters. We would need to mangle the test name to a valid CMake identifier to do it that way. |
||
---|---|---|
.conan | ||
.github | ||
artwork | ||
CMake | ||
contrib | ||
docs | ||
examples | ||
include | ||
misc | ||
projects | ||
scripts | ||
single_include/catch2 | ||
third_party | ||
.gitattributes | ||
.gitignore | ||
.travis.yml | ||
appveyor.yml | ||
CMakeLists.txt | ||
CODE_OF_CONDUCT.md | ||
codecov.yml | ||
conanfile.py | ||
LICENSE.txt | ||
README.md |
The latest version of the single header can be downloaded directly using this link
Catch2 is released!
If you've been using an earlier version of Catch, please see the Breaking Changes section of the release notes before moving to Catch2. You might also like to read this blog post for more details.
What's the Catch?
Catch2 stands for C++ Automated Test Cases in a Header and is a multi-paradigm test framework for C++. which also supports Objective-C (and maybe C). It is primarily distributed as a single header file, although certain extensions may require additional headers.
How to use it
This documentation comprises these three parts:
- Why do we need yet another C++ Test Framework?
- Tutorial - getting started
- Reference section - all the details
More
- Issues and bugs can be raised on the Issue tracker on GitHub
- For discussion or questions please use the dedicated Google Groups forum or our Discord
- See who else is using Catch2