2016-05-26 19 views
1

Boost.Testを使って書かれたテストプログラムがあるライブラリがあります。テストファイルには#define BOOST_TEST_DYN_LINKまたは#include <boost/test/included/unit_test.hpp>が含まれていません。彼らは#include <boost/test/unit_test.hpp>しか持っていません。したがって、main()関数は暗黙的に関数に含まれていません。デバッグ用の私自身のメイン関数でブーストユニットテストを実行

これで、テストケースで使用されていたいくつかのライブラリ関数をデバッグする必要がありました。私がのテストプログラムに何かを加えたり変更したりすることができないとすれば、どうすればデバッガの下でテストプログラムを呼び出せますか?

+0

何も追加できない場合は、あなた自身の 'main()'をどのように追加しますか?実行可能なプログラムがあることを意味する「プログラム」と言います。だから、他の実行可能ファイル(プラットフォームやツールキットを指定していないので、私はあなたにそれ以上の詳細を与えることはできません)のようにデバッガで実行してください。 |この時点で、その疑問はむしろ混乱しています。詳しく教えてください。 –

+0

申し訳ありませんが、プログラムによって私はファイル(CPPファイル)を意味し、とにかくそれらのCPPファイルを変更することはできません。 実行可能ファイルがありません。しかし、私は新しいファイルを作成し、それらをコンパイルして実行可能ファイルを生成することができます。それはまさに私の質問です。どうすればいいですか? Btw、私はUbuntu上でIDE、g ++ 4.8としてQtCreatorを使用しています。 –

+0

フレームワークは[静的ライブラリとして使用されているようです(http://www.boost.org/doc/libs/1_61_0/libs/test/doc/html/boost_test/usage_variants.html#boost_test.usage_variants.static_lib) - テストランナーを作るためにそれらの指示に従ってください。 –

答えて

0

テストランナー(例:main_test.cpp)を作成してライブラリをリンクします。

# main_test.cpp 
// --- Boost Includes --- 
#define BOOST_TEST_DYN_LINK 
#include <boost/test/unit_test.hpp> 

結果の実行可能ファイルを呼び出すと、テストが実行されます。ランナーを./myrunner --run_test='some_testsuite'/../'some_testname'で呼び出すと、個々のテストをデバッグできます。

関連する問題