rmiller / exemplify-extension
PhpSpec 扩展,添加了用于在规范中生成示例的 exemplify 命令
0.5.0
2017-01-24 15:37 UTC
Requires
- php: >=5.4
- phpspec/phpspec: ^3.0
- rmiller/caser: ^0.1
Requires (Dev)
- behat/behat: ^3.0
This package is not auto-updated.
Last update: 2024-09-24 03:04:37 UTC
README
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 命令。