Существует ли библиотека поблочного тестирования C++, которая подобна NUnit?

Действительно важная вещь, с точки зрения компилятора, состоит в том, что она в состоянии разрешить символы. В случае статического метода это должно знать, какой класс заглянуть для него - так как это не связано ни с каким конкретным объектом. Разработчики Java, очевидно, решили, что, так как они могли определить класс объекта, они могли также разрешить класс любого статического метода для того объекта от любого экземпляра объекта. Они принимают решение позволить этому - поколебленный, возможно, наблюдением @TofuBeer - давать программисту некоторое удобство. Другие разработчики языка сделали различный выбор. Я, вероятно, попал бы в последний лагерь, но дело не в этом большой из соглашения мне. Я, вероятно, позволил бы использование, которое упоминает @TofuBeer, но позволявший его моя позиция по не предоставлению доступа от переменной экземпляра менее надежна.

5
задан Peter Mortensen 16 October 2009 в 20:48
поделиться

10 ответов

Расширяя ответ Марка Бесси : Мне очень нравится cxxTest, потому что это просто набор C++ заголовочных файлов и Perl скриптов. Пока у вас есть C++ компилятор & Perl, он будет работать практически на любой системе. Он также имеет возможности для интеграции с вашей IDE (хотя я ими не пользовался).

Также, вот хорошая статья Изучение C++ Unit Testing Framework Jungle. Эта заметка потенциально устарела (около 2004 года), но в ней даётся отличный обзор возможностей и примеры использования каждой из следующих фреймворков С++ юнит-тестирования:

  • CppUnit
  • Boost. Test
  • CppUnitLite
  • NanoCppUnit
  • Unit++
  • CxxTest
4
ответ дан 18 December 2019 в 05:20
поделиться

Рассматривали ли вы использование CppUnit ?

Здесь представлен обзор сред модульного тестирования для C ++ .

9
ответ дан 18 December 2019 в 05:20
поделиться

И есть Boost.Test .

6
ответ дан 18 December 2019 в 05:20
поделиться

Мы используем Google Mock и Google Test . Я никогда не использовал NUnit, поэтому не могу сказать, насколько он похож на NUnit.

7
ответ дан 18 December 2019 в 05:20
поделиться

Я рекомендую вам попробовать UnitTest ++:
http://unittest-cpp.sourceforge.net/UnitTest++.html

Я не знаю, похож ли он на NUnit, но он мощный, элегантный и простой в использовании. -использовать.

3
ответ дан 18 December 2019 в 05:20
поделиться

Я использую Boost.Test . Я использовал CppUnit , но обнаружил, что он работает по принципу Java / Junit, а не по принципу C ++. Например, использование методов настройки и разрыва вместо конструкторов и деструкторов. Также поддержка Test Case / Fixture была немного трудоемкой, поскольку C ++ не поддерживает отражение.

Я обнаружил, что Boost.Test лучше подходит для кода C ++, который я тестировал. Кроме того, он намного мощнее. Через некоторое время я перенес все свои тесты CppUnit в Boost.Test, это заняло около дня, и я не оглядывался назад.

Насколько я знаю, человек, стоящий за cppunit, также написал cxxunit , который является больше C ++ esque.

3
ответ дан 18 December 2019 в 05:20
поделиться

There is a good one called CPPUnit. It started its life as a port of JUnit to C++ by Michael Feathers. I have worked with it and it is great. Note though, that unit testing in C++ is harder than in other languages.

1
ответ дан 18 December 2019 в 05:20
поделиться

В блоке есть относительно новый ребенок, который называется WinUnit . У меня не было времени самому попробовать, но, возможно, стоит взглянуть.

2
ответ дан 18 December 2019 в 05:20
поделиться

Googletest очень похож по использованию на xUnit. Googlemock - безусловно, лучший фреймворк для имитации C ++. Библиотеки кроссплатформенные, имеют отличную документацию и активную базу пользователей. Все, что вам нужно, это совместимый компилятор C ++, который может обрабатывать шаблоны.

Майкл Фезерс, первоначальный автор CppUnit, теперь рекомендует CppUnitLite, который представляет собой простой фреймворк. Как только я потчевал его радостями Googlemock на ACCU 2010 , я надеюсь, он примет это: -)

2
ответ дан 18 December 2019 в 05:20
поделиться

Вы ничего не найдете К сожалению, очень похож на NUnit. Поскольку C ++ не обладает такой сильной способностью к отражению, процесс определения тестов должен быть несколько более явным, вместо использования атрибутов, как в NUnit.

Мне нравится cxxtest , потому что его легко установить вверх и не требует ручной тестовой регистрации.

4
ответ дан 18 December 2019 в 05:20
поделиться
Другие вопросы по тегам:

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