UnitTesting » History » Revision 4
Revision 3 (Junxiao Shi, 03/03/2014 03:41 PM) → Revision 4/12 (Junxiao Shi, 06/14/2014 07:57 PM)
# Unit Testing NFD requires unit testing for most modules. NFD uses [Boost Unit Test Framework](http://www.boost.org/doc/libs/1_48_0/libs/test/doc/html/index.html). ## Learning Resources for Boost Unit Test Framework * [Boost Unit Test Framework documentation](http://www.boost.org/doc/libs/1_48_0/libs/test/doc/html/index.html) * After compiling the unit-test binary, it is possible at run time to select which tests to run and what kind of output is desired. Use `--help` command line option to get more information about the available options. ## Testing Code Guidelines * Test suites should be defined inside `nfd::tests` namespace. * Test suites should use `nfd::tests::BaseFixture` fixture, to get automatic setup and teardown of global `io_service`. * If a custom fixture is defined for test case or test case, that custom fixture should derive from `BaseFixture`. ## Testing Helpers * `tests/core/limited-io.hpp` provides operation count and time limit * `tests/daemon/face/dummy-face.hpp` `tests/face/dummy-face.hpp` provides a `Face` that doesn't depend on a socket * `tests/daemon/fw/strategy-tester.hpp` `tests/fw/strategy-tester.hpp` provides a facade to test a forwarding strategy