我在Eclipse Juno中有一个C ++项目,我正在使用Boost Unit Test Framework。我是正式单元测试的新手,所以我仍然在开发我的工作流程。
我的工作区包含两个项目:
(1)我的C ++项目
(2)测试(1)
中的类的单元测试项目在编写每个单元测试时,我将(1)中必要的目录和文件导入(2)作为虚拟目录。
这适用于源文件,但它似乎不适用于头文件。
e.g。使用
编译unit_test.cpp #include "foo/bar.h"
返回
../unit_tests.cpp:8:30: error: foo/bar.h: No such file or directory
即使其中包含foo
的虚拟目录 bar.h
。
如果我在#include "foo/bar.h"
上使用Eclipse“Open Declaration”命令(F3),它将打开文件,但编译器找不到该文件,因为它实际上并不存在于文件夹中(I猜测)。
我注意到编译器使用非虚拟目录路径编译“真实”源文件,但显然这不是针对头文件自动完成的。
我通过向编译器添加Workspace引用的include路径来解决我的问题。例如
${workspace_loc:/my C++ Project}
这解决了这个问题,但是当我必须创建对真实文件的引用时,虚拟文件的重点是什么?
我的问题是:
(*)这是一个很好的工作流程吗?
(*)我的工作流程如何改进?
(*)其他人如何使用Eclipse / IDE来管理单元测试?