doctest works quite nicely without any command line options at all - but for more control there are a bunch that are available.
All the flags/options also come with a prefixed version (with -dt-
at the front) - for example -rand-seed=(int)
can be used also with -dt-rand-seed=(int)
or -dt-rs=(int)
.
Also all the unprefixed versions listed here can be disabled with the DOCTEST_CONFIG_NO_UNPREFIXED_OPTIONS
define.
This is done for easy interoperability with client command line option handling when the testing framework is integrated with a client codebase - all doctest related flags/options can be prefixed so there are no clashes and so that the user can exclude everything starting with -dt-
from their option parsing.
Query flags - after the result is printed the program quits without executing any test cases (and if the framework is integrated into a client codebase and supplying it's own main()
entry point - the program should check the result of doctest::Context::shouldExit()
after calling doctest::Context::run()
and should exit - this is left up to the user).
int
/string
options - they require a value after the =
sign - without spaces! For example: --order-by=rand
.
Filters use wildcards for matching values - where *
means "match any sequence" and ?
means "match any one character".