【问题标题】:Anyone knows something like RSPec for PHP? [closed]任何人都知道类似 RSPec for PHP 的东西吗? [关闭]
【发布时间】:2010-06-25 18:49:27
【问题描述】:

RSPec 是一个很棒的 ruby​​ 测试框架(用于测试驱动开发), 任何人都知道类似 rspec 但是对于 PHP?

【问题讨论】:

  • Kahlan 是更接近现有的实现(注意:我是它的创建者)。

标签: php ruby testing rspec phpunit


【解决方案1】:

PHPSpec 是一个行为驱动的 php 开发框架。不过我自己还没用过,所以不能具体评论。

【讨论】:

【解决方案2】:

Behat!建立在 Symfony 2 组件之上。从语法上讲,不如 Ruby 实现好,但仍能获得 BDD 的好处。

我自己偶然发现了它,还没有使用它。乍一看,它似乎使用了 PHP 5.3 新增的闭包(它需要像 RSpec/Cucumber 一样工作)。

http://behat.org/

【讨论】:

  • Behat 是 Cucumber 的 PHP 克隆,而不是 RSpec。该工具用于集成级别的行为测试(也称为验收测试),而不是像 RSpec 这样的真正单元测试。
【解决方案3】:

PHPUnit 是 PHP 中单元测试的事实标准。
它可以在有限的范围内做到BD Testing

PHPUnit_Extensions_Story_TestCase 类添加了一个故事框架,有助于为行为驱动开发定义领域特定语言。在场景中,given()、when() 和 then() 分别代表一个步骤。 and() 与上一步相同。以下方法在 PHPUnit_Extensions_Story_TestCase 中声明为抽象,需要实现:

runGiven(&$world, $action, $arguments)
...

runWhen(&$world, $action, $arguments)
...

runThen(&$world, $action, $arguments)
...

编辑:An more sophisticated alternative might be CucumberBehat

【讨论】:

    【解决方案4】:

    PHP 中的 RSpec 克隆很少。

    PHPSpec Spectrum

    还有一个原创的测试框架Codeception

    【讨论】:

      【解决方案5】:

      如果您只对测试的输出感兴趣,您可以使用phpunit-progress,这会使您的测试结果看起来与 RSpecs 的结果完全一样。

      【讨论】:

        【解决方案6】:

        Selenium 是另一个值得一提的。

        【讨论】:

        • Selenium 用于自动化浏览器。虽然您可能在编写各种测试时使用它,但它并不是问题所要求的测试框架。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-03-04
        • 2016-12-20
        • 2011-01-01
        • 2012-10-21
        • 1970-01-01
        • 2011-06-03
        • 2010-11-09
        相关资源
        最近更新 更多