使用伪boost :: filesystem

时间:2016-03-29 15:45:30

标签: c++ unit-testing boost boost-filesystem

目前我正在开发一个模块,该模块读取目录,查找文件名中具有特定模式的文件。我正在使用boost :: filesystem。  我一直在想,有一些模仿文件系统而不直接与它交互的东西是个好主意,除非它是生产代码。

我找到了这个链接: http://user.xmission.com/~legalize/boost.test/libs/test/doc/html/test/guide/testing_file_io.html 看起来很棒,但当我尝试使用此代码时。我发现如果没有更多文件,调用next()可能会抛出。我不确定这样的代码是否被视为一种好的做法:

    std::vector<std::string> results;
    try
    {
        std::string s = directory_scanner.next;
        if (s.find("some_pattern")
        results.push_back(s);
    }
catch(...){hmm now what?}

这看起来像是一个通用的解决方案,所以我对此感兴趣。 但也许现在在2016年完全错误了:))

也许最好在目录扫描程序中使用虚拟方法'get_interesting_files'并将其注入需要进行单元测试的对象?

0 个答案:

没有答案