codifico / parameter-bag-extension
Behat 的参数包扩展
dev-master
2015-09-02 14:09 UTC
Requires
- php: >=5.4
- behat/behat: ~3.0,>=3.0.4
Requires (Dev)
- phpspec/phpspec: ~2.0
- phpunit/phpunit: ~4.0.7
- symfony/process: ~2.1
This package is not auto-updated.
Last update: 2024-09-14 16:13:33 UTC
README
适用于 Behat 3.x
为 Behat 上下文提供参数包
- ParameterBagAwareContext 为上下文提供参数包实例
安装
php composer.phar require codifico/parameter-bag-extension:dev-master --dev
在 behat.yml 中指定其类以激活扩展
# behat.yml default: # ... extensions: Codifico\ParameterBagExtension\ServiceContainer\ParameterBagExtension: ~
参数包使用
准备参数
<?php use Behat\Behat\Context\SnippetAcceptingContext; use Behat\Gherkin\Node\PyStringNode; use Codifico\ParameterBagExtension\Context\ParameterBagDictionary; class FeatureContext implements SnippetAcceptingContext { use ParameterBagDictionary; /** * @Given Entity :entityName exists: */ public function entityExists($entityName) { // ... create entity $this->getParameterBag()->set($entityName, $entity); } }
使用参数
<?php use Behat\Behat\Context\SnippetAcceptingContext; use Behat\Gherkin\Node\PyStringNode; use Codifico\ParameterBagExtension\Context\ParameterBagDictionary; class AnotherFeatureContext implements SnippetAcceptingContext { use ParameterBagDictionary; /** * @Then I need entity :entityName */ public function iNeedEntity($entityName) { $entity = $this->getParameterBag()->get($entityName); } }
占位符包使用
您还可以将其用作占位符包。要切换到占位符包,只需
# behat.yml default: # ... extensions: Codifico\ParameterBagExtension\ServiceContainer\ParameterBagExtension: parameter_bag: class: Codifico\ParameterBagExtension\Bag\InMemoryPlaceholderBag
替换占位符
除了设置和获取占位符值外,您还可以在字符串中替换占位符
<?php class AnotherFeatureContext implements SnippetAcceptingContext { use ParameterBagDictionary; /** * @Then I should get :message */ public function iShouldGet($message) { /* * let's assume that * $message = 'User USER_ID is active' * and placeholder bag contains value 123 under key USER_ID */ $message = $this->getParameterBag()->replace($message) // $message = 'User 123 is active' } }
版权
版权所有 (c) 2014 Marcin Dryka (drymek)。有关详细信息,请参阅 LICENSE。
感谢
扩展基于由 Przemysław Piechota (kibao) 在 gist 中开发的解决方案。