現在、ブーストテストライブラリの使用方法を学習しており、テストスイートが正常に動作しないようです。次のコードでは、 'test_case_1'は正しく失敗しますが、 'test_suite_1'ではなくMaster Test Suiteにあると報告されています。誤ったテストスイートでのブーストユニットテストの失敗が検出されました
誰かが間違っていることを知っていますか?
#define BOOST_AUTO_TEST_MAIN
#include <boost/test/auto_unit_test.hpp>
BOOST_AUTO_TEST_SUITE(test_suite_1);
BOOST_AUTO_TEST_CASE(test_case_1) {
BOOST_REQUIRE_EQUAL(1, 2);
}
BOOST_AUTO_TEST_SUITE_END();
編集:
Ovanes'答えは、より良いスイートの階層を理解するために私を導いた - この場合にはtest_suite_1はデフォルトで命名されたルートスイートのサブスイートです 『マスターテストスイート』。デフォルトのロギングは、私が扱うことで期待したものではないルートスイートのみを表示します:)
ルートスイート名を設定するには、BOOST_TEST_MODULEを定義します。予期しないエラーメッセージは次のとおりです。
#define BOOST_TEST_MODULE test_suite_1
#define BOOST_AUTO_TEST_MAIN
#include <boost/test/auto_unit_test.hpp>
BOOST_AUTO_TEST_CASE(test_case_1) {
BOOST_REQUIRE_EQUAL(1, 2);
}
私はこれを見つけたうれしいですが、私は完全にこの動作でゴブ、叩かよ。 'BOOST_TEST_MODULE'は一度しか使えないので、基本的にユニットテスト実行ファイルごとにスイートが1つありますか?また、すべてのテストの失敗は、このスイートのメンバーとして報告され、サブスイート名はありません。確かに私はここで何かを逃している。編集:書式設定 –