Есть ли хорошие инструменты BDD с открытым исходным кодом для C / C ++? [закрыто]

StackOverflow https://stackoverflow.com/questions/193965

  •  10-07-2019
  •  | 
  •  

Вопрос

Мне нравится стиль разработки Ruby RSpec BDD. Есть ли хорошие инструменты для этого с C / C ++?

Это было полезно?

Решение

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

Другие советы

Похоже, вы можете протестировать свой код на C, используя Ruby и RSpec, используя swig для генерации оболочек! Смотрите пост Бена Маби здесь: http://benmabey.com/2007/09/09/bdd- ваш-c.html

Я попробовал этот пример, и он сработал для меня. Я не уверен, что кто-то пошел дальше.

Исходная ссылка ( CppSpec ) устарела, но она по-прежнему доступна в < a href = "https://archive.org/web/" rel = "nofollow noreferrer"> Интернет-архив по адресу CppSpec .

И, как уже упоминалось @VickyChijwani, копию проекта можно найти по адресу Github - tpuronen / cppspec .

Igloo - это то, что я с нетерпением жду возможности попробовать некоторое время

Поскольку была запрошена среда, похожая на RSpec, я хотел бы добавить недавний igloo . Хотя изначально он был направлен на синтаксис Context / Spec, он также поддерживает синтаксис Describe / It. Не так много шума при настройке тестового бегуна и тестовых приспособлений, как в этих C-средах. Это даже лучше смотреть, чем CppSpec. Они достигают этого с помощью приличной шаблонной механики.

Попробуйте CBehave ! Это RSpec-подобный BDD-каркас, который использует заданные / когда / затем макросы. Пример:

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
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top