是否有适用于C / C ++的开源BDD工具?

时间:2008-10-11 11:08:54

标签: c++ c testing bdd

我喜欢Ruby RSpec BDD开发风格。使用C / C ++有没有好的工具?

6 个答案:

答案 0 :(得分:14)

cspec适用于C.据推测它适用于C ++。 Behavior Driven Development Wikipedia page上有各种语言的工具列表。

答案 1 :(得分:4)

原始链接(CppSpec)已失效,但仍可在Internet Archive CppSpec处访问。

正如@VickyChijwani已经提到的那样,Github - tpuronen/cppspec

上有一份项目副本

答案 2 :(得分:4)

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

我已经尝试了这个例子,它对我有用。我不确定是否有人更进一步。

答案 3 :(得分:3)

Igloo是我期待尝试的时间

答案 4 :(得分:2)

试试CBehave!它是一个类似RSpec的BDD框架,它使用given / 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

答案 5 :(得分:2)

由于请求了类似RSpec的框架,我想添加最近的igloo。 虽然最初的目标是Context / Spec语法,但它也支持Describe / It语法。在基于C的框架中设置测试运行器和测试夹具没有太大的噪音。看起来比CppSpec更好看。他们通过使用体面的模板机制来实现这一目标。