我有一个大型代码库,其中包含一些(太少)单元测试;我正在向库中添加代码,尝试对新代码进行单元测试(我还想在将来为旧代码添加单元测试,当我有更多经验时)。
我们目前使用自定义(不是很精细)的单元测试框架;我想切换到boost.test
.
我的图书馆布局是:
mylib1(300 个文件,70000 行代码)
- 源代码
- 富
- foo.cpp
- foo_part.cpp
- foo_part.h
- UnitTests -我应该把它移到外面
mylib
吗?- foo_test1.cpp
- foo_test2.cpp
- foo_test3.cpp
- 酒吧
- 酒吧.cpp
- bar_part.cpp
- bar_part.h
- UnitTests -它属于这里吗?
- bar_test1.cpp
- bar_test2.cpp
- bar_test3.cpp
- 富
- 包括
- foo.h
- 酒吧.h
- 源代码
mylib2(70 个文件,7000 行代码)
- 看起来像上面的mylib1
单元测试框架
- 源代码
- MockObject1.cpp -它属于这里吗?
- Asserter.cpp -
boost.test
将替换它 - TestFixture.cpp -
boost.test
将替换它
- 包括
- 模拟对象1.h
- Asserter.h -
boost.test
将替换它 - TestFixture.h -
boost.test
将替换它
- 源代码
我在这里问以下问题:
- 单元测试应该是
mylib
DLL 的一部分吗?(我链接mylib1
到mylib2
一个 DLL 中) - 单元测试的源代码应该位于
mylib1
目录下吗? - 既然我有
mylib1
andmylib2
,那么相应的单元测试应该如何定位 - 在同级目录中,一起等等? - 我应该把模拟对象的源代码放在哪里?(他们同时提供
mylib1
和mylib2
)