Мы используем boost :: test в похожем макете. Наш макет -
/project
/include
/SuperModule
/Foo
foo.c
foo.h
/foo_unittest
foo_unittest.c // note - no separate header file is required
// for boost::test unit test.exe program.
Основное правило макета - поместить модульный тест для класса в подкаталог с именем «foo_unittest» после класса в том же каталоге, что и исходный код. Преимущество этого наименования
- Исходный код и каталог хранятся рядом друг с другом. Таким образом, вы можете проверить, написали ли вы модульный тест или нет.
- Кроме того, когда вы копируете исходный код,
легко скопировать модульный тест на
в то же время.
Поскольку наши проекты не слишком сложны (30-50 основных классов), эта система работает для нас. Если вы работаете с большими проектами, я не думаю, что это было бы оптимальным решением.