The framework is and will stay free but needs your support to sustain its development. There are lots of new features and maintenance to do. If you work for a company using doctest or have the means to do so, please consider financial support. Monthly donations via Patreon and one-offs via PayPal.
A complete example with a self-registering test that compiles to an executable looks like this:
There are many C++ testing frameworks - Catch, Boost.Test, UnitTest++, cpputest, googletest and many other.
The key differences between it and other testing frameworks are that it is light and unintrusive:
DOCTEST_CONFIG_DISABLE
identifierdoctest
) and doesn't drag any headers with itThis allows the framework to be used in more ways than any other - tests can be written directly in the production code!
Mantra: Tests can be considered a form of documentation and should be able to reside near the production code which they test.
The framework can be used like any other if you don't want/need to mix production code and tests - check out the features.
doctest is modeled after Catch and some parts of the code have been taken directly - check out the differences.
This table compares doctest / Catch / lest which are all very similar.
Checkout the CppCon 2017 talk on YouTube to get a better understanding of how the framework works and read about how to use it in the article of the february edition of ACCU Overload 2017!
Project:
Usage:
main()
entry pointSupport the development of the project with donations! There is a list of planned features which are all important and big - see the roadmap. I took a break from working in the industry to make open source software so every cent is a big deal.
If you work for a company using doctest or have the means to do so, please consider financial support.
Contributions in the form of issues and pull requests are welcome as well - check out the Contributing page.
The logo is licensed under a Creative Commons Attribution 4.0 International License. Copyright © 2019 area55git