2011-02-02 19 views
11

私はユニットテストのためにBoost.Testを使用しています。静的ライブラリのBoost.Testテスト

いくつかの理由から、私はユニットテストケースを異なる静的ライブラリに書きたいと思います。

私がこれを行うと、自動レジストラが動作しないという問題があります。例えば

、私はのようなものを持っている場合:私はlibFooTests.aにmain.oをリンクして、最終的なバイナリを実行した場合、それが言う、

その後
// foo_tests.cpp 
#define BOOST_TEST_MODULE "Foo" 
#include <boost/test/unit_test.hpp> 
BOOST_AUTO_TEST_CASE(Bar) 
{ 
    BOOST_CHECK(false); 
} 
// used to generate libFooTests.a 

// main.cpp 
#define BOOST_TEST_DYN_LINK 
#define BOOST_TEST_MAIN 
#include <boost/test/unit_test.hpp> 
// used to generate main.o 

Test setup error: test tree is empty

ソースコードから直接バイナリを作成するとすべてうまく動作しますが、自動登録を使ってスタティックライブラリ内で単体テストを書くことはできません。

これを達成できますか?

定義する必要があるマクロがありますか?私はlibFooTests.aからエクスポートする必要があるいくつかのシンボル?

ありがとうございます!あなたと同じ問題だと私は私の答えで行ったものと同様の解決策を導き出す必要があるでしょう

答えて

関連する問題