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