working on the command line doc
4 files changed
tree: 7949e04acb77b6f39aea8bba42de1ba87a02b85e
  1. .clang-format
  2. .gitignore
  3. .gitmodules
  4. .travis.yml
  5. CHANGELOG.md
  6. CMakeLists.txt
  7. LICENSE.txt
  8. README.md
  9. appveyor.yml
  10. doc/
  11. doctest/
  12. examples/
  13. scripts/
README.md

the lightest feature rich C++ single header testing framework

The doctest library is inspired by the unittest {} functionality of the D programming language and Python's docstrings - tests can be considered a form of documentation and should be able to reside near the production code which they test.

It is heavily influenced by Catch which is currently the most popular, simple and user friendly alternative out there.

Language Standard License Version Join the chat at https://gitter.im/onqtam/doctest

Build status

Servicebranch: masterbranch: dev
Travis-CI (Linux/OSX)Linux/OSX StatusLinux/OSX Status
Appveyor (Windows)Windows statusWindows status
Unit Test CoverageCoverage StatusCoverage Status
Static AnalysisStatic Analysis

Contributing

Support the development of the project with donations! There is a list of planned features which are all important and big - see the roadmap. I work on this project in my spare time and every cent is a big deal. Currently unemployed.

Donate to support

Contributions in the form of issues and pull requests are welcome as well.

Open an issue for a discussion before making a pull request to make sure the contribution goes smoothly.

This framework has some design goals which must be kept. Make sure you have read the features and design goals page.

The master branch is the stable one with the latest release and the dev branch is on the bleeding edge.

All the framework tests have their output collected when the CMake TEST_MODE variable is set to COLLECT (making the new reference output) and later the tests are ran on the CI services (travis and appveyor) - their output is compared with the current reference output in the repository with the COMPARE mode (default mode is NORMAL).

Code should be formatted with a recent-enough clang-format using the config file in the root of the repo (or I will do it...)

Testing with compilers different from GCC/Clang/MSVC (and more platforms) is something the project would benefit from.