I am trying to use boost-test, and in particular boost unit testing.
I clearly don't understand how is the main function generated and called, all the tutorial says is to define a module and write a test
#define BOOST_TEST_MODULE EnfTraderTest
BOOST_AUTO_TEST_CASE(CalculateExpectedPriceTest){BOOST_ERROR("Oops");}
But, how do I say to my program to run this test ? I already have main function, I would like to decide to run the test or not, from my main function.
The simplest way to do this is to write your tests into one
.cpp
-file, and define the macroBOOST_TEST_MODULE
before you includeunit_test.hpp
. You can then compile that.cpp
-file and execute it. If you have tests in several.cpp
-files, just link them all together, but take care that eitherBOOST_TEST_MODULE
orBOOST_TEST_MAIN
are defined in exactly one of them.You can use the command-line parameter
run_test
to only run a subset of tests, the default is to run all tests.