【问题标题】:Are there any good open source BDD tools for C/C++? [closed]有没有什么好的 C/C++ 开源 BDD 工具? [关闭]
【发布时间】:2008-10-11 11:08:54
【问题描述】:

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

【问题讨论】:

  • 这个问题是关于 C 还是关于 C++? C/C++ 只是纯粹的模棱两可。
  • 我很惊讶没有提到cucumber-cpp,它是一个活跃的框架并使用 Gherkin 语法来编写场景。它还有一组非常简洁的选项可以满足许多需求。

标签: c++ c testing bdd


【解决方案1】:

cspec 用于 C。大概它可以与 C++ 一起使用。 Behavior Driven Development Wikipedia page 上有各种语言的工具列表。

【讨论】:

  • 为什么选择这个而不是下面的 cppspec?
  • 可能是因为一句话比一个词有用。
  • 因为他首先回答了问题,并且附加了一个包含大量信息的链接。
【解决方案2】:

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

我已经尝试过这个例子,它对我有用。不知道有没有人更进一步。

【讨论】:

    【解决方案3】:

    原始链接 (CppSpec) 已失效,但仍可通过Internet ArchiveCppSpec 访问。

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

    【讨论】:

    • 链接已损坏。 github.com/tpuronen/cppspec是同一个项目吗?
    • 好像是一样的。 Github 存储库和CppSpec(互联网档案)均由 Timo Puronen 签名。
    【解决方案4】:

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

    【讨论】:

    • 它似乎没有 Cucumber 和 Fitnesse 的任何特征,测试仍在代码中,测试人员或业务分析师无法读取/编辑。
    • 我不认为 igloo-testing.org 是一个有效的网站(至少不再是)。
    • @MrMas 是正确的。 URL 似乎转到停放的域/重定向到粗略的地方。 GitHub 存储库仍然存在(2019 年 6 月):github.com/joakimkarlsson/igloo
    【解决方案5】:

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

    【讨论】:

    • 我不认为 igloo-testing.org 是一个有效的网站(至少不再是)。
    【解决方案6】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-09
      • 1970-01-01
      • 2010-09-27
      • 2010-12-15
      • 1970-01-01
      • 2010-09-07
      • 2014-09-23
      • 1970-01-01
      相关资源
      最近更新 更多