ネイティブのテストカテゴリ属性はありません。CppUnitはそれよりも少し単純です。CppUnitには、アプリのコマンドラインテストランナーも付属していません。TestRunnerを実行する独自の単純なmain()関数を作成する必要があります。
これが標準的な例です。
#include <cppunit/extensions/TestFactoryRegistry.h>
#include <cppunit/ui/text/TestRunner.h>
int main( int argc, char **argv)
{
CppUnit::TextUi::TestRunner runner;
CppUnit::TestFactoryRegistry ®istry = CppUnit::TestFactoryRegistry::getRegistry();
runner.addTest( registry.makeTest() );
bool wasSuccessful = runner.run( "", false );
return wasSuccessful;
}
TestSuiteは、TestCaseのコレクションです。TestRunnerは、TestSuiteのコレクションを実行します。この例では、TestFactoryRegistryからTestSuiteを取得します。これは、CPPUNIT_TEST_SUITE_REGISTRATION(MyTestSuite)へのマクロ呼び出しを使用して入力します。しかし、TestCaseはまだあなたのテストクラスです。
ファサードを持つクラスを拡張するのと同じように、これらの属性を自分で実装することはできます。TestSuiteから新しいクラスを取得します。選択できる属性をテストに追加してから、「単体テストのみ」や「統合テストのみ」など、必要なものを実行するTestRunnerにデータを入力します。
さらに言えば、TestRunnerは名前に基づいて実行するテストを選択できます。すべての統合テストにITFoo、ITBarなどのプレフィックスを付けて名前を付けた場合、「IT」で始まるすべてのテストを選択できます。
問題を解決する方法はたくさんありますが、自分で解決する必要があります。ユニットテストに値するコードを書くことができれば、それはあなたにとって大したことではないはずです。:-)