Boost Test では BOOST_AUTO_TEST_CASE で BOOST_FIXTURE_TEST_SUITE で囲った方が勝手が良い2020年12月28日 13時12分01秒

Boost C++ Library のなかに、Boost Test がある。

Boost Test では BOOST_AUTO_TEST_CASE でテストケースを記述する。そして、 BOOST_FIXTURE_TEST_SUITE と BOOST_AUTO_TEST_SUITE_END で囲むことにより、Fixture を利用できる。

Google Test では、Fixture 用に、利用するマクロが別途用意されているが、Boost Test では、Fixture の在り無しに関係ない。逆に、Boost Test では、Fixture の領域を指定する二つのマクロがある。

Boost Test では、Fixture 必須で利用開始した方が、後々に便利だ。Fixture が必要無い時点では、空のクラスを定義しておくだけで良い。これがあると、後でテスト用の初期化、終了処理を追加するのが楽になる。

#include <boost/test/unit_test.hpp>

class fixture
{
};

BOOST_FIXTURE_TEST_SUITE( suite, fixture )
 
BOOST_AUTO_TEST_CASE( case1 )
{
    BOOST_REQUIRE( true );
}

BOOST_AUTO_TEST_SUITE_END()


BOOST_AUTO_TEST_CASE( case2 )
{
    BOOST_REQUIRE( ! false );
}
また、Fixture を使うと、テストケースの前に Fixture の名前が付く。上の例だと、一つ目のテスト名は「suite/case1」になり、二つ目は「case2」になる。つまり、Fixture を使うと、テストケースが一まとめにされるのだ。

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2020/12/28/9331312/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。