2011-02-03 30 views
3

ブーストテストライブラリを使用してユニットテストを実装しようとしています。私はブーストサイトでマニュアルを読むことから始めました。この後、私はすでに存在するプロジェクトの中で簡単なテストプログラムを作っています。私が直面する唯一の問題は、私はテスト結果を見ることができないということです。私はいくつか間違っていると確信しています:)しかし、私はそれを把握することができません。私のプロジェクトの詳細は、次のとおりブーストテストの出力がありません

私はこのために、視覚的studio8を使用しています: 私は他のプロジェクトとともにMyProject.sln

という名前のソリューションを持っている私は(MyDLL.vcprojという名前のプロジェクトを持っています

:このプロジェクトの種類 DLLです)

MYDLLのprojの中の他のファイルと一緒に、私はMyTest.cpp新しいCPPファイル名を追加し、ファイルには、次のコードが含まれています

#define BOOST_TEST_DYN_LINK #define BOOST_TEST_MAIN //#define BOOST_TEST_MODULE MyTestTestModue //no need for this maro if above macro is used #include <boost/test/unit_test.hpp> BOOST_AUTO_TEST_CASE(SampleTC) { BOOST_CHECK(true); }; 

私はMYDLLプロジェクトのプロパティシートで次のように変更します

C++ -> General -> Additional Include Dependencies = D:\MyProject\Boost\boost\test 
Linker -> General -> Additional Libray Directories = D:\MyProject\Boost\lib\win32\Debug 
Linker -> System -> SubSystem = (/SUBSYSTEM:CONSOLE) 

私は手動で与えられたすべてのコンパイルの詳細を読みますが、出力を取得することはまだできません。理想的には、スタンドアロンのlib(UTFのダイナミックライブラリバリエーション)としてBoostテストを使いたいと思っています。

答えて

2

私は私はいくつかのこと 間違っ:)

を作っていますことを確信している実は、私はこの問題は、あなたが正しいものを作っていると思います。

チェックされた値がtrueであるため、テストに合格し、デフォルトではBoost.Testは失敗したテストに関する情報のみを出力します。ログレベルは、--log_level=allをオプションとしてテスト実行ファイルに渡すか、または環境変数BOOST_TEST_LOG_LEVELallに設定するという2つの方法のいずれかで行うことができます。

すべての実行時パラメータについては、this page of the documentationを参照してください。

編集:それは

1

私たちのユニットテストは、ツールポストコンパイル経由で呼ばれている(途中でアンダースコアで)実際に--log_levelです。 EXEにパラメータを簡単に渡すことはできません(ツール構成を変更したり、すべてのテストに影響を与えることなく)。あなたのメッセージがどこにある追加の楽しみのため

boost::unit_test::unit_test_log_t::instance().set_threshold_level(boost::unit_test::log_messages); 

、出力ファイル名と行番号:

だから、ログレベルのしきい値を設定する別の方法は、コードからブーストユニット・テスト・ロガーシングルトンを呼び出すことです表示:

#define MY_BOOST_TEST_MESSAGE(msg) BOOST_TEST_MESSAGE(`__FILE__` << `__LINE__` << " " << msg) 
関連する問題