Поблочное тестирование на код C++ - Инструменты и [закрытая] методология

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

Конечно, вы могли бы сделать вещи короче, используя оператор tenary, но что, с другой стороны, не очень помогает аспекту читаемости.

Комментарий Иоахима Исакссона по вашему вопросу показывает другой подход, который должен работать.

134
задан James McMahon 18 June 2009 в 01:38
поделиться

16 ответов

Применение модульных тестов к унаследованному коду было очень причина , Работа Эффективно с Унаследованным кодом была записана. Michael Feathers является автором - как упомянуто в других ответах, он был вовлечен в создание и CppUnit и CppUnitLite.

alt text

82
ответ дан 23 November 2019 в 23:55
поделиться

Взгляните на cfix ( http://www.cfix-testing.org ), он специализирован для разработки Windows C/C ++ и поддерживает и непривилегированный режим и поблочное тестирование привилегированного режима.

1
ответ дан 23 November 2019 в 23:55
поделиться

Фруктоза выезда: http://sourceforge.net/projects/fructose/

Это - очень простая платформа, содержа только заголовочные файлы и таким образом легкое портативное устройство.

0
ответ дан 23 November 2019 в 23:55
поделиться

Взгляните на CUnitWin32. Это записано для MS Визуальный C. Это включает пример.

1
ответ дан 23 November 2019 в 23:55
поделиться

Michael Feathers из ObjectMentor способствовал разработке и CppUnit и CppUnitLite.

Он теперь рекомендует CppUnitLite

1
ответ дан 23 November 2019 в 23:55
поделиться

Я попробовал CPPunit, и это не очень удобно для пользователя.

единственная альтернатива, которую я знаю, использует C++. СЕТЬ для обертывания классов C++ и записи модульных тестов с одной из платформ поблочного тестирования.NET (NUnit, MBUnit и т.д.)

2
ответ дан 23 November 2019 в 23:55
поделиться

См. также ответы на тесно связанный вопрос "выбор инструмента/платформы поблочного тестирования C++", здесь

3
ответ дан 23 November 2019 в 23:55
поделиться

UnitTest ++ , маленький & простой.

7
ответ дан 23 November 2019 в 23:55
поделиться

Также существует РАБОТА , Шаблонный модульный тест, основанная на шаблоне платформа. Это - синтаксис, является неловким (некоторые назвали это злоупотреблением шаблона), но его основное преимущество, это - все это содержавшееся в единственный заголовочный файл .

Вы найдете пример модульного теста записанный с РАБОТОЙ здесь.

3
ответ дан 23 November 2019 в 23:55
поделиться

CppUnit является путем. Посмотрите ссылку ниже:

http://cppunit.sourceforge.net/cppunit-wiki

http://en.wikipedia.org/wiki/CppUnit

7
ответ дан 23 November 2019 в 23:55
поделиться

Noel Llopis Игры Из является автором Исследование Джунглей Платформы Поблочного тестирования C++ , всестороннее (но теперь датированный) оценка различных платформ Поблочного тестирования C++, а также книга по игровому программированию.

Он использовал CppUnitLite долгое время, чиня различные вещи, но в конечном счете объединил усилия с другим автором библиотеки модульного теста и произвел UnitTest ++ . Мы используем UnitTest ++ здесь, и мне нравится он много, до сих пор. Это имеет (мне) точное правильное равновесие сил с маленьким местом.

я использовал решения собственной разработки, CxxTest (который требует Perl), и повышение:: тест. Когда я реализовал поблочное тестирование здесь в моем текущем задании, оно в значительной степени свелось к UnitTest ++ по сравнению с повышением:: тест.

мне действительно нравится большинство библиотек повышения, которыми я пользовался, но по моему скромному мнению, повышение:: тест является немного слишком властным. Мне особенно не нравилось это, это требует, чтобы Вы (AFAIK) реализовали основную программу тестовой обвязки с помощью повышения:: тестовый макрос. Я знаю, что это не "чистый" TDD, но иногда нам нужен способ запустить тесты от скручивания жгутов приложение GUI, например, когда специальный тестовый флаг передается в на командной строке и повышении:: тест не может поддерживать этот тип сценария.

UnitTest ++ был самой простой средой тестирования для установки, и использовать это я встретился в своем (ограниченном) опыте.

21
ответ дан 23 November 2019 в 23:55
поделиться

CxxTest является легкой, простой в использовании и кросс-платформенной JUnit/CppUnit/xUnit-like платформой для C++.

9
ответ дан 23 November 2019 в 23:55
поделиться

Повышение имеет библиотека Testing , который содержит поддержку поблочного тестирования. Это могло бы стоить проверить.

24
ответ дан 23 November 2019 в 23:55
поделиться

Проверьте превосходное сравнение между несколькими доступными комплектами. Автор той статьи позже разработал UnitTest ++ .

, Что я особенно как приблизительно это (кроме того, что это обрабатывает исключения и т.д. хорошо) - то, что существует очень ограниченный объем 'администрирования' вокруг тестовых сценариев и тестового определения приспособлений.

30
ответ дан 23 November 2019 в 23:55
поделиться

Google недавно выпустил их собственную библиотеку для поблочного тестирования приложения C++, названные Google Test.

Проект на Google Code

39
ответ дан 23 November 2019 в 23:55
поделиться

Если вы используете Visual Studio 2008 SP1, я настоятельно рекомендую использовать MSTest для написания модульных тестов. Затем я использую макет Google для написания макетов. Интеграция с IDE идеальна и позволяет и не несет накладных расходов CPPunit с точки зрения редактирования трех мест для добавления одного теста.

1
ответ дан 23 November 2019 в 23:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: