C++ 我应该把单元测试放在一个单独的库中吗?单独的子目录?
我有一个很大的代码库,其中有一些(太少了)单元测试;我正在向库中添加代码,试图为新代码进行单元测试(我还想在将来有更多经验时为旧代码添加单元测试) 我们目前使用一个定制的(不是很复杂的)单元测试框架;我想切换到C++ 我应该把单元测试放在一个单独的库中吗?单独的子目录?,c++,unit-testing,code-organization,boost-test,C++,Unit Testing,Code Organization,Boost Test,我有一个很大的代码库,其中有一些(太少了)单元测试;我正在向库中添加代码,试图为新代码进行单元测试(我还想在将来有更多经验时为旧代码添加单元测试) 我们目前使用一个定制的(不是很复杂的)单元测试框架;我想切换到boost.test 我的图书馆布局是: mylib1(300个文件,70000行代码) src 福 foo.cpp foo_part.cpp 福乌第h部分 UnitTests-我是否应该将其移到mylib之外? foo_test1.cpp foo_test2.cpp foo_t
boost.test
我的图书馆布局是:
- mylib1(300个文件,70000行代码)
- src
- 福
- foo.cpp
- foo_part.cpp
- 福乌第h部分
- UnitTests-我是否应该将其移到mylib之外?
- foo_test1.cpp
- foo_test2.cpp
- foo_test3.cpp
- 酒吧
- bar.cpp
- bar_part.cpp
- 巴鲁第h部分
- 单元测试-它属于这里吗?
- bar_test1.cpp
- bar_test2.cpp
- bar_test3.cpp
- 福
- 包括
- 福安
- 酒吧
- src
- mylib2(70个文件,7000行代码)
- 看起来像上面的mylib1
- UnitTestFramework
- src
- MockObject1.cpp-它属于这里吗?
- Asserter.cpp-
将替换它boost.test
- TestFixture.cpp-
将替换它boost.test
- 包括
- 模拟对象1.h
- Asserter.h-
boost.test将替换它
- TestFixture.h-
将替换它boost.test
- src
- 单元测试应该是mylib的一部分吗?(我将
和mylib1
链接到一个DLL中)mylib2
- 单元测试的源代码应该位于
目录下吗mylib1
- 既然我有
和mylib1
,那么相应的单元测试应该如何定位-在兄弟目录中,一起,等等mylib2
- 我应该把模拟对象的源代码放在哪里?(它们同时服务于
和mylib1
)mylib2
+ mylib1 (300 files, 70000 lines of code)
+ unit_tests
+ test_foo.cpp
+ test_bar.cpp
+ mocks
+ mock_foo.hpp
+ mock_bar.hpp
+ foo.cpp
+ foo.hpp
+ bar.cpp
+ bar.hpp
+ mylib2
similar as for mylib1
我不可能通过将所有300个文件填充到一个目录中来“简化”树结构。所以我猜这个答案主要是说“不要改变单元测试的位置,它们在正确的位置”。