Как мне начать выполнять модульное тестирование на С++?
Я использовал Junit при кодировании на Java и нашел его очень полезным. Есть что-то подобное в С++? Что вы рекомендуете?
Как мне начать выполнять модульное тестирование на С++?
Я использовал Junit при кодировании на Java и нашел его очень полезным. Есть что-то подобное в С++? Что вы рекомендуете?
Вот похожие вопросы, которые вы можете посмотреть:
Я рекомендую вам в дополнение к CppUnit инфраструктуру тестирования модулей Google.
Недавно я написал серию статей в блоге из 5 частей, посвященных блочному тестированию на С++ с повышением. Он дает пошаговые инструкции о том, как это сделать в Visual Studio.
Часть 1: как начать выпуск модульных тестов на С++ с помощью Boost.Test.
Часть 2: структура утверждения, предоставленная Boost.Test, в контексте простого упражнения по программированию, которое демонстрирует тестовые развитие.
Часть 3: продолжение с тестовой разработкой для завершения функциональности метода PrimeFactors:: Generate.
Часть 4: разработка пользовательского интерфейса с использованием тестовых операций.
Часть 5: средства в Boost.Test для совместного использования общих действий по установке и разрыву между тестами и организации тестов в наборах.
Отметьте CppUnit, это порт jUnit для С++.
UnitTest ++, легенда гласит, что UnitTest ++ был написан автором этого в блоках единичного тестирования.
Хорошо округлить здесь.
Мы используем Boost.Test, и мы можем делать хорошую кросс-платформенную непрерывную интеграцию.
Взгляните на эту страницу: http://gamesfromwithin.com/?p=29
Это лучшее сравнение фреймворков С++. Я лично предпочитаю Boost.Test.
Я не был доволен какой-либо платформой модульного тестирования С++. Поскольку С++ не имеет отражения, трудно написать удобные инструменты для тестирования единиц. CxxTest примерно так же хорош, как я нашел. Я использовал его в некоторых проектах, но обычно я просто пишу собственные тесты без рамки или с использованием грубой структуры, которую я написал сам.
Я только начал использовать googletest (https://github.com/google/googletest/). Его просто интегрировать, и у меня не было никаких проблем с ним.
Мой личный фаворит - TUT. Две основные причины: 1) он не заставляет Java-измы на вас, а использует то, что С++, и 2) вы контролируете его, записываете исполняемый файл (у меня есть шаблон, который я использовал), отчет и т.д. (по умолчанию используется версия, основанная на потоке).
Мне очень нравится философия KISS, 2 заголовка, никаких макросов, без парсеров, простой старый код на С++ с крошечным битом кода скелета.
Я только что нажал свою собственную фреймворк, CATCH. Он все еще находится в разработке, но я считаю, что он уже превосходит большинство других структур. У разных людей разные критерии, но я пытался охватить большинство из них без слишком большого количества компромиссов. Взгляните на мою связанную запись в блоге для дегустатора. Мои пять лучших функций:
Он также имеет привязки Objective-C.
Не зная, какую платформу/компилятор вы нацеливаете, я могу сделать только общую рекомендацию. Я использовал this (CppTest) довольно успешно в прошлом. Там выглядит простая структура под названием UnitTest ++, которая выглядит интересной.
Aeryn - еще одна С++ Testing Framework, заслуживающая внимания
Посмотрите CUnitWin32. Он включает пример.