Как перенести тесты Cppunit в GoogleTest?

У меня есть куча модульных тестов, написанных на CPPunit, и некоторые макеты, созданные вручную. Я ищу способ перенести их в GoogleTest как можно более плавно. Вы пробовали такую ​​операцию? Какие усилия были необходимы?

3 ответа

Решение

Google Test а также Cppunit похоже, для вызова тестов используется один и тот же синтаксис, но, как я подозреваю, в этом синтаксисе слишком много различий.

Я почти уверен, что вы не можете каким-то образом автоматизировать это, и эта операция потребует переосмысления и перекомпоновки ваших тестов, чтобы следовать Google Test семантика (если вы используете что-то специализированное для создания макетов, то портируйте их на Google Mock потребует еще больше усилий, просто потому что Google Mockподход не очевиден и на самом деле сложен).

Я бы сказал, что вам лучше переосмыслить следующие вопросы: "Зачем мне переносить свои тесты", "Какую пользу принесет эта операция" и "Действительно ли я хочу изучить всю новую платформу тестирования, а затем переписать все мои тесты для какой-то цели ".

Похоже, что вы можете использовать Google Test из другого фреймворка (в вашем случае cppunit): https://code.google.com/p/googletest/wiki/AdvancedGuide

В какой-то степени я согласен с @Kotti. Автоматическое преобразование будет нетривиальным для тестов, поэтому вам нужно подумать о том, оправдывает ли это количество существующих тестов.

Я большой поклонник фреймворка Googlemock, и если вы вложите значительные средства в ручную насмешку, то перенос ваших пробников на Googlemock может принести огромную выгоду вашим текущим расходам на тестирование.

Если это причина для рассмотрения порта, то помните, что Googlemock может работать с другими тестовыми средами - не только с Googletest. (ПРИМЕЧАНИЕ: я не использовал эту функцию, но видел онлайн отчеты о ее использовании)

Другие вопросы по тегам