|> The Unit Test Framework > User's guide > Usage variants > External test runner
All other usage variants employ the build-in test runners. If you plan to use an external test runner with your
test module you need to build it as a dynamic library. This usage of the UTF is called the external test runner
variant of the UTF. The variant requires you to define the flag
BOOST_TEST_DYN_LINK either in a makefile or before the header
boost/test/unit_test.hpp inclusion. An external test runner utility is
required to link with dynamic library.
If an external test runner is based on the test runner built in to the dynamic library (like the standalone boost_test_runner utility supplied by the UTF), it requires you to implement the test module initialization function that matches the alternative initialization function signature. The UTF provides an ability to automatically generate an empty test module initialization function with correct signature if no custom initialization is required by a test module.
An advanced test runner doesn't have to be based on the build-in one and may require a different test module initialization function signature and/or name.