我正在尝试使用增强单元测试,使用Visual Studio测试适配器集成到VS(2013)中.我的单元测试测试一个库,该库需要在其工作目录中存在另一个DLL(它通过在链接器设置下的“附加输入”中指定.lib而不是通过“引用”来链接).我无法调整全局PATH(需要能够在一台机器上引用多个版本).此外,我的测试需要一些相对于当前工作目录搜索的测试数据.
如果没有boost单元测试适配器,我只需在“debugging”下设置工作目录,或者从命令行运行单元测试可执行文件,当前工作目录很明显.
我的问题:如何使用boost单元测试适配器设置要运行的测试的当前工作目录.我尝试设置’command’和’working directory’,并查看适配器的文档以获取设置目录的方法.这些都没有帮助.这应该怎么样?
最佳答案 我遇到了和你一样的问题.我发现最好的解决方法是定义一个全局fixture,它设置当前的工作目录.
#include <boost/test/unit_test.hpp>
#include <boost/filesystem.hpp>
struct SetPwd {
SetPwd() {
boost::filesystem::current_path("." /* Your path here.*/);
}
~SetPwd() {
}
};
BOOST_GLOBAL_FIXTURE(SetPwd);