22

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

4

6 回答 6

14

cspec适用于 C。大概它可以与 C++ 一起使用。行为驱动开发 Wikipedia 页面上有各种语言的工具列表。

于 2008-10-11T12:48:09.400 回答
4

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

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

于 2008-11-03T20:10:53.743 回答
4

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

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

于 2009-08-06T05:09:28.023 回答
3

冰屋是我期待尝试一段时间的一个

于 2012-05-24T18:59:31.690 回答
2

试试CBehave!它是一个使用 given/when/then 宏的类似 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
于 2011-08-15T12:42:28.180 回答
2

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

于 2011-10-08T09:26:11.257 回答