Это возможно / достаточно продуктивно для TDD в проектах C ++? - PullRequest
5 голосов
/ 21 июля 2010

Я хочу знать, использует ли кто-либо из вас, ребята, TDD в ваших проектах c ++ и как он работает по сравнению с управляемыми языками, такими как C # и Java.А какие фреймворки вы, ребята, используете для автоматизации тестов на проектах c ++?

Ответы [ 3 ]

2 голосов
/ 21 июля 2010

Две полезные среды тестирования C ++, которые, кажется, еще не упомянуты: Boost test и Google Test.

1 голос
/ 23 июля 2010

Я недавно перешел из проекта C #, который был разработан с использованием TDD, в проект, который использует C ++.Я немного боялся этого, но обнаружил, что работать с C ++ с TDD намного приятнее, а код более надежен, чем я помню из прошлого (не TDD) опыта с C ++.

Мы используемGoogle Test.Он не так прост в использовании, как NUnit / MbUnit, но, похоже, работает довольно хорошо.Существует также фреймворк Google для макетов http://code.google.com/p/googlemock, но я этим еще не пользовался.

1 голос
/ 21 июля 2010

Разработка через тестирование возможна на любом языке. Вам нужны правильные инструменты и методики тестирования для языка, и, возможно, вам может потребоваться настраиваемая инфраструктура тестирования для вашего проекта.

Я обнаружил, что CppUnit (по крайней мере, 1.x) очень плохая структура - похоже, он использует идиомы Java / C # на языке C ++ и не поддерживает конструкции STL.

Если вам нужен хороший пример разработки через тестирование (на языке C), посмотрите на проект Wine - http://test.winehq.org/data/ показывает результаты своих тестов для разных версий Windows, Wine и различных коммитов в Wine. репозиторий. У них есть собственная тестовая инфраструктура.

...