rmiller/exemplify-extension

PhpSpec 扩展,添加了用于在规范中生成示例的 exemplify 命令

0.5.0 2017-01-24 15:37 UTC

This package is not auto-updated.

Last update: 2024-09-24 03:04:37 UTC


README

Scrutinizer Code Quality Build Status

PhpSpec 扩展,添加了用于在规范中生成示例的 exemplify 命令。

例如,运行

bin/phpspec exemplify RMiller/Badger dig

并选择默认选项“实例方法”,将向 spec/RMiller/BadgerSpec 类添加以下示例

public function it_should_dig()
{
    $this->dig();
}

然后可以修改它来描述该方法的行为。

安装

要求

  • PhpSpec 3.0+
  • PHP 5.6+

要使用“命名构造函数”示例,您需要使用 phpspec >2.1。否则,示例将被创建但无法运行。

要求扩展

$ composer require --dev rmiller/exemplify-extension:^0.5

配置

通过在您的 phpspec.yml 中指定其类来激活扩展

# phpspec.yml
extensions:
    RMiller\BehatSpec\Extension\ExemplifyExtension\ExemplifyExtension: ~

方法类型

支持三种不同的方法类型,运行命令时,您将被询问正在描述哪种类型的方法。这些是

  • 实例方法(例如 $this->dig())
  • 静态方法(例如 $this::dig())
  • 命名构造函数

命名构造函数选项用于静态方法,用于实例化和返回类的实例。它本质上是对工厂方法的另一种称呼。由于创建的示例不同,因此单独列出。

例如,运行

bin/phpspec exemplify RMiller/Badger withName

并选择“命名构造函数”选项,将向 spec/RMiller/BadgerSpec 类添加以下内容

public function it_should_be_constructed_through_with_name()
{
    $this->beConstructedThrough('withName');
}

其他可能有用的扩展

  • 为了进一步的懒散,PhpSpecRunExtension 将在 describe 和 exemplify 命令之后执行 phpspec run 命令,节省一些按键。

  • 此扩展和 PhpSpecRun 也包含在 BehatSpec 中,它提供了 Behat 和 PhpSpec 之间的集成。这包括在运行 Behat 功能时自动运行遇到缺失方法的 exemplify 命令。