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

时间:2015-11-03 00:29:09

标签: visual-studio unit-testing visual-c++ boost

我正在尝试使用升级单元测试,使用Visual Studio测试适配器集成到VS(2013)中。我的单元测试测试一个库,该库需要在其工作目录中存在另一个DLL(它通过在链接器设置下的“附加输入”中指定.lib而不是通过“引用”来链接)。我无法调整全局PATH(需要能够在一台机器上引用多个版本)。此外,我的测试需要一些相对于当前工作目录搜索的测试数据。

如果没有boost单元测试适配器,我只需在'debugging'下设置工作目录,或者从命令行运行单元测试可执行文件,当前工作目录很明显。

我的问题:如何使用boost单元测试适配器设置要运行的测试的当前工作目录。我尝试设置'command'和'working directory',并查看适配器的文档以获取设置目录的方法。这些都没有帮助。这应该如何运作?

1 个答案:

答案 0 :(得分:2)

我遇到了和你一样的问题。我找到的最佳解决方法是定义一个全局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);