如何使用boost :: test设置c ++ turtle mock库?

时间:2014-10-21 12:31:45

标签: c++ unit-testing boost turtle-mock

我正在尝试使用boost :: test框架设置turtle-mock库。

我不知道怎么做,文档中也没有任何说明......

我试图简单地将库源复制到boost / include中。 我还试图将乌龟目录复制到我的项目中,然后添加一个指向乌龟文件夹的CMake INCLUDE_DIRECTORIES指令。

我只是试图包括龟......

#define BOOST_TEST_MAIN
#define BOOST_TEST_DYN_LINK
#include <boost/test/unit_test.hpp>
#include <boost/turtle/mock.hpp>

然后我收到了这个错误:

In file included from /home/ferdi/boost/include/boost/turtle/detail/function.hpp:97:0,
             from /home/ferdi/boost/include/boost/turtle/detail/functor.hpp:13,
             from /home/ferdi/boost/include/boost/turtle/reset.hpp:15,
             from /home/ferdi/boost/include/boost/turtle/mock.hpp:14,
             from /home/ferdi/inesm/test/Test.hpp:7,
             from /home/ferdi/inesm/test/lib/inesm/component/note/TestNote.cpp:6:
/home/ferdi/boost/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:52:37: fatal error: turtle/detail/function_iterate.hpp: Aucun fichier ou dossier de ce type
#        include BOOST_PP_FILENAME_1

(“ Aucun fichier ou dossier de ce type ”表示“此类型的文件或目录”)

这是什么意思? 我该怎么办?

谢谢!

1 个答案:

答案 0 :(得分:1)

来自the documentation的典型用法是

#define BOOST_AUTO_TEST_MAIN
#include <boost/test/auto_unit_test.hpp>
#include <turtle/mock.hpp>

或根据您的用例进行调整

#define BOOST_TEST_MAIN
#define BOOST_TEST_DYN_LINK
#include <boost/test/unit_test.hpp>
#include <turtle/mock.hpp>

所以没有提升/包括龟。

我认为你不应该将乌龟移动到boost中,而是将它保持分开并添加一个CMake include目录,因为你正在引用(但是到了turtle的父目录)。

如果你坚持将乌龟与助推器合并,你可以尝试使用'加强'版本的海龟又名Boost.Mock