codifico/parameter-bag-extension
Composer 安装命令:
composer require codifico/parameter-bag-extension
包简介
Parameter bag extension for Behat
README 文档
README
for Behat 3.x
Provides parameter bag for Behat contexts:
- ParameterBagAwareContext provides an parameter bag instance for contexts
Instalation
php composer.phar require codifico/parameter-bag-extension:dev-master --dev
Activate extension by specifying its class in your behat.yml:
# behat.yml default: # ... extensions: Codifico\ParameterBagExtension\ServiceContainer\ParameterBagExtension: ~
Parameter Bag Usage
Prepare parameter:
<?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); } }
Use the parameter:
<?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); } }
Placeholder Bag Usage
You can also use it as a placeholder bag. To switch to a placeholder bag just
# behat.yml default: # ... extensions: Codifico\ParameterBagExtension\ServiceContainer\ParameterBagExtension: parameter_bag: class: Codifico\ParameterBagExtension\Bag\InMemoryPlaceholderBag
Replacing placeholders
Additionally to setting and getting placeholder values you can replace placeholders in strings
<?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' } }
Copyright
Copyright (c) 2014 Marcin Dryka (drymek). See LICENSE for details.
Thanks
Extension is based on a solution developed by Przemysław Piechota (kibao) in gist.
Contributors
- Marcin Dryka drymek [lead developer]
- Other awesome developers
统计信息
- 总下载量: 303.38k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 8
- 点击次数: 1
- 依赖项目数: 2
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2014-07-14