2

boost::test フレームワークを使用してタートル モックライブラリをセットアップしようとしています。

私はそれを行う方法がわかりません、ドキュメントにもそれについては何も言われていません...

ライブラリソースを単純に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」は、「このタイプのファイルまたはディレクトリはありません」を意味します)

どういう意味ですか ?どうすればいいですか?

ありがとう !

4

1 に答える 1

1

ドキュメントから、典型的な使用法は次のようになります

#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>

ブーストなし/タートルを含める場合。

タートルをブーストに移動する必要はないと思いますが、それを別にして、参照していたように CMake インクルード ディレクトリを追加します (ただし、タートルの親ディレクトリに)。

タートルをブーストとマージすることを主張する場合は、代わりに「ブーストされた」バージョンのタートル、別名Boost.Mockを試すことができます。

于 2014-10-21T15:57:09.173 に答える