2013-06-27 3 views
1

В нашем проекте на C++ мы используем отдельные исполняемые файлы в качестве модульных тестов. Мы используем их следующим образом:Перемещение параметризованных тестов в googletest или cppunit

test1 -p333 -u512 -t3 -c10000 -m100000000 
test1 -p444 -u256 -t1 -c50000 -m20000000 
test2 -c555 -v -d2 -t2 
test2 -c111 -v -d8 -t4 
test3 ... 

I.e. мы снова и снова запускаем исполняемые файлы с разными параметрами, собираем журналы и анализируем их. На данный момент мы не используем рамки тестирования. Иногда мы меняем параметры, но редко.

Однако мы собираемся перенести наши тесты на Googletest (или CppUnit, мы еще не решили), и я не знаю, как можно модифицировать тесты для использования с gtest. Например, я могу переместить test1 и test2 для тестирования светильников, но я понятия не имею, как запустить его с разными параметрами (без изменения кода и перекомпиляции).

Есть ли какой-либо подход для перемещения наших параметризованных тестов в Googletest или Cppunit?

ответ

3

Google Test поддерживает тестирование параметров с параметрами. Это described в своей вики. Пример вики объясняет поддержку только для простого типа параметров, но вы можете упаковать многозначные параметры в структуру или кортеж.

1

С помощью Google Test вы можете создать свои собственные main, like describe here, а затем вы сможете управлять своими аргументами.

+0

Кажется, что я не могу запускать набор тестов один раз с теми же параметрами, но с разными значениями. Или вы предлагаете несколько раз запускать тестовый набор? – Rom098

+0

С вашим собственным основным и с [функцией, описанной здесь] (http://code.google.com/p/googletest/wiki/AdvancedGuide#Value_Parameterized_Tests) вы сможете делать то, что хотите. – nouney