2

ファイル test.cpp があります。次のようになります。

#define BOOST_TEST_MAIN
#include <boost/test/included/unit_test.hpp>


BOOST_AUTO_TEST_SUITE( test_suite1 )

BOOST_AUTO_TEST_CASE( my_test )
{
    // testing...
}

BOOST_AUTO_TEST_SUITE_END()

大丈夫です。できます....

しかし、もっと BOOST_AUTO_TEST_SUITE が必要で、すべてのスイートを他のファイルに入れたいです。

すべてのテスト スイートからすべてのテスト ケースを実行したいと考えています。私は何をすべきか?

4

1 に答える 1

1

私はあなたが望むものと同様のセットアップを持っています (この Q&Aを参照してください)。CMake ソリューションが必要な場合は、そこを見てください。それ以外の場合は、テスト ケースを複数のファイルに分割し、オプションを使用してそれぞれを個別にコンパイルおよびリンクします。

 -DBOOST_TEST_MAIN -DBOOST_TEST_DYN_LINK

注: 通常、マクロはソース ファイル内ではなく、コンパイラ/リンカー オプションとして配置することをお勧めします。いくつかのテスト ソースと CMake ビルド ソリューションを使用すると、呼び出しctestてすべてのテスト実行可能ファイルを実行できます。

1 つのテスト実行可能ファイルが必要な場合は、各テストを個別にコンパイルし、それらを 1 つの実行可能ファイルにリンクします。次に、この実行可能ファイルを実行すると、すべてのテストが実行されます。ただし、この方法で選択したテストのみを実行するのは非常に難しいことに注意してください。

于 2013-06-08T16:16:32.443 に答える