有什么好的C/C++开源BDD工具吗

Are there any good open source BDD tools for C/C++?

本文关键字:开源 BDD 工具 C++ 什么      更新时间:2023-10-16

我喜欢Ruby RSpec BDD的开发风格。有什么好的工具可以用C/C++做到这一点吗?

cspec适用于C。据推测,它将与C++一起使用。行为驱动开发维基百科页面上有一个各种语言的工具列表。

似乎可以使用Ruby和RSpec测试C代码,使用swig生成包装器!点击此处查看Ben Mabey的帖子:http://benmabey.com/2007/09/09/bdd-your-c.html

我试过这个例子,它对我很有效。我不确定是否有人进一步尝试过。

原始链接(CppSpec)已失效,但它仍然可以在CppSpec的Internet档案中访问。

正如@VickyChijwani已经提到的,Github上有一个项目的副本-tpuronen/cppspec

Igloo是我期待着在一段时间内尝试

由于请求了一个类似RSpec的框架,我想添加最近的冰屋。虽然最初是针对Context/Spec语法,但它也支持Describe/it语法。在设置测试运行程序和测试固定装置时,不会像在那些基于C的框架中那样有太多噪音。它甚至感觉比CppSpec更好看。他们通过使用体面的模板机制来实现这一点。

试试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