dbn*_*dbn 32 c++ testing boost automated-tests unit-testing
我最近开始尝试将一个令人尊敬的大型(> 100万行)程序进行测试.目前没有单元测试.此外,程序链接为每个单独的文件链接在一起 - 没有组件库.此外,对象是高度相互依赖的,并且很难(不可能?)链接到任何目标文件而不链接到它们中的至少一半.
是的,我知道,我的生活很糟糕.
我想做一些重构(显然),但我想在开始移动之前进行一些测试.我目前的想法是编译一个单独的"测试程序",它运行我创建的所有测试.这将大大简化我的链接问题,让我专注于真正的问题.所以我有两个问题:
小智 36
我猜,这正是如何使用升压测试.我会保留一个简短的main.cpp文件,由2行组成:
#define BOOST_TEST_MODULE "C++ Unit Tests for MyTangledLibrary"
#include <boost/test/included/unit_test.hpp>
Run Code Online (Sandbox Code Playgroud)
然后我会继续将编译在一起的测试模块*.cpp文件添加到一个可执行文件中
#include <boost/test/unit_test.hpp>
<< your include files >>
BOOST_AUTO_TEST_SUITE(FancyShmancyLogic)
BOOST_AUTO_TEST_CASE(TestingIf2x3equals6)
{
...
}
BOOST_AUTO_TEST_CASE(TestingIf2x2equals4)
{
...
}
BOOST_AUTO_TEST_SUITE_END()
Run Code Online (Sandbox Code Playgroud)
是的,您将能够将main.cpp和所有模块编译为一个大型可执行文件.