Нет собственных атрибутов категории теста. CppUnit немного проще, чем это. CppUnit даже не поставляется с тестером командной строки для вашего приложения. Вы должны написать свою собственную простую функцию main (), которая выполняет TestRunner.
Вот канонический пример.
#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 - это набор тестовых случаев. TestRunner выполняет коллекцию TestSuites. Обратите внимание, что в этом примере он получает TestSuites из TestFactoryRegistry, который вы заполняете, используя макро-вызов CPPUNIT_TEST_SUITE_REGISTRATION (MyTestSuite). Но тестовые случаи - все еще ваши тестовые классы.
Вы, безусловно, можете реализовать эти атрибуты самостоятельно, так же, как вы расширяете любой класс с помощью фасада. Получите ваш новый класс от TestSuite. Добавьте атрибуты в свои тесты, которые вы можете выбрать, затем заполните свой TestRunner, выполняя «просто модульные тесты» или «просто интеграционные тесты» или все, что вы хотите.
В этом отношении TestRunner может выбирать тесты для выполнения на основе имени. Если вы назвали все свои интеграционные тесты с префиксом, таким как ITFoo, ITBar и т. Д., Вы можете выбрать все тесты, которые начинаются с «IT».
Есть десятки способов решить вашу проблему, но вам придется сделать это самостоятельно. Если вы можете написать код, достойный модульного тестирования, для вас это не должно иметь большого значения. : -)