Boostテストライブラリ: よくある質問と答え
最新版のBoostテストライブラリはどこにあるのですか?最新版のBoostテストライブラリは www.boost.orgで手に入る。 バグを見つけました。どこに報告すればよいのでしょうか?バグレポートはGennadiy Rozentalまで送って欲しい。 新しい機能をリクエストしたいのですが、どこに言えばいいのでしょうか?リクエストはGennadiy Rozentalまで送って欲しい。 どのようにテストケースを作ればいいのですか?テストケースを作成するには、BOOST_TEST_CASE( test_function )マクロを使用する。詳しくはユニットテストフレームワークドキュメントに書いてある。 どのようにテストスイートを作ればいいのですか?テストスイートを作るには、BOOST_TEST_SUITE( suite_name )マクロを使用する。詳しくはユニットテストドキュメントに書いてある。 テストプログラムをコンパイルしたら、なぜかリンクエラーになってしまいます。Boost Testライブラリはオフラインに実装されている。テストプログラムを作るためには 事前にプリコンパイルしたライブラリコンポーネントをリンクするか、boost/test/included ディレクトリにある、"インクルードバージョン"のコンポーネントを使用しなければならない。 たとえば、テスト実行モニターを使用するためには<boost/test/test_tools.hpp> をインクルードしてlibtest_exec_monitor.libをリンクするか、プリコンパイルコンポーネント をリンクしたくなければ<boost/test/included/test_exec_monitor.hpp>をインクルードする 必要がある。この方法に厳密に従っても、コンパイラによっては以下のようなリンクエラーが 出力される場合がある。 Unresolved external 'init_unit_test_suite(int, char * *). これはinit_unit_test_suite()の二番目の引数の型を、char* []に使用に正確にあわせる必要がある、 という意味である。 どうしたらテストの出力をリダイレクトできますか?unit_test_log::instance().set_log_output( std::ostream&)を使用する。 詳細はユニットテストフレームワークのドキュメントに書いてある。 デフォルトのログのトレースレベルを変更するにはどうすればいいでしょうか?環境変数BOOST_TEST_LOG_LEVELを、自分が望むログトレースレベルに設定する。 この値はコマンドラインから設定することができる。受入可能な値はユニットテストフレームワークのドキュメントに書かれている。 |