visual-studio – 使用visual studio测试适配器进行单元测试 – 设置工作目录

我正在尝试使用增强单元测试,使用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);
点赞