Мне нравится стиль разработки Ruby RSpec BDD. Есть ли хорошие инструменты для этого с C/С++?
Есть ли хорошие инструменты BDD с открытым исходным кодом для C/С++?
Ответ 1
cspec для C. Предположительно он будет работать с С++. Существует список инструментов для различных языков на странице Страница, посвященная развитию Википедии.
Ответ 2
Исходная ссылка (CppSpec) мертва, но она по-прежнему доступна на Интернет-архив в CppSpec.
И как уже упоминалось @VickyChijwani, есть копия проекта Github - tpuronen/cppspec
Ответ 3
Кажется, вы можете протестировать свой C-код с помощью Ruby и RSpec с помощью swig для создания оберток! См. Сообщение Бен Маби здесь: http://benmabey.com/2007/09/09/bdd-your-c.html
Я попробовал этот пример, и это сработало для меня. Я не уверен, что кто-то это сделал дальше.
Ответ 4
Igloo - это тот, который я с нетерпением жду, чтобы попробовать некоторое время
Ответ 5
Попробуйте CBehave! Это RSpec-подобная структура BDD, которая использует заданные макросы /when/then. Пример:
FEATURE(1, "strstr")
SCENARIO("The strstr finds the first occurrence of the substring in the source string")
GIVEN("A source string: [Lionel Messi is a great football player]")
char *str = "Lionel Messi is a great football player";
GIVEN_END
WHEN("we use strstr to find the first occurrence of [football]")
char *p = strstr(str, "football");
WHEN_END
THEN("We should get the string: [football player]")
SHOULD_STR_EQUAL(p, "football player");
THEN_END
SCENARIO_END
FEATURE_END
Ответ 6
Поскольку запрошена инфраструктура RSpec, я хотел бы добавить недавний igloo. Хотя первоначально он нацелен на синтаксис Context/Spec, он также поддерживает синтаксис описания/описания. В настройке тестового бегуна и тестовых светильников не так много шума, как в тех рамках на основе C. Даже лучше смотреть на CppSpec. Они достигают этого благодаря использованию достойной механики шаблонов.