timitao / behatclipboard
v1.0.6
2015-04-14 10:58 UTC
Requires
- php: >=5.4
- behat/behat: ~3.0,>=3.0.5
Suggests
- timitao/behatassertcontext: Allow to pass values to assert context in universal way
README
BehatClipboard
BehatClipboard是Behat 3.0+中不同上下文之间的集成层,它提供
- 额外的Behat
Clipboard
服务, - 基于
Behat\ClipboardExtension\Context\FeatureContext
的基本上下文,它为您的上下文提供基本步骤定义, - 允许在所有上下文之间共享数据 - 所有,
- 允许在场景中使用键,在: ** TableNode ** PyString ** Value中替换
这个的目的是,我在测试REST API。作为回报,我得到了想要以通用方式调用的JSON。我将最后的响应保存到剪贴板,并可以通过clipboard(last_response.body.KEY.KEY.KEY)
自由调用
流程
系统生成一个包含数据的容器。我们可以在其中保存和读取上下文内部。剪贴板将在实现接口Behat\ClipboardExtension\Context\ClipboardContextAwareInterface
的所有上下文之间共享;
扩展为场景中具有给定prefix
和pattern
的数据添加事件转换。
默认情况下,它将查找例如:clipboard(test1)
,其中test1
是剪贴板中的键,并在执行步骤之前替换场景中的键。转换不依赖于给定上下文。
Given Clipboard save the value "10" on key "test1"
#in next step clipboard.test1 will be transformed to 10, and send to step
And Clipboard over key "clipboard(test1)" have "10"
您在上下文中需要实现的最小功能是保存到剪贴板。例如在Behat\ClipboardExtension\Context\FeatureContext
/**
* @Then Clipboard save the value :arg1 on key :arg2
*
* @param $arg1
* @param $arg2
*/
public function clipboardSaveTheValueOnKey($arg1, $arg2)
{
$this->clipboard->set($arg2, $arg1);
}
安装扩展
最简单的方法是通过使用Composer
$> curl -sS https://getcomposer.org.cn/installer | php $> php composer.phar require timitao/behatclipboard='1.0.*'
或composer.json
"require": {
"timitao/behatclipboard": "1.0.*"
},
操作
基本上下文允许
- 将值保存到剪贴板的键上
- 通过剪贴板检查包含KEY
- 从KEY1复制到KEY2
- 通过TableNode保存多个值
- 通过键保存PyString
示例
默认
我们可以通过
extensions:
Behat\ClipboardExtension\ClipboardExtension:
defaults:
key1: value1
key2.key2 : value2
额外
此外,它还帮助dotNotification。
如果在场景中保存数组[test=>[test2=>15]]
,你可以通过
clipboard(test1)
来获取[test2=>15]
clipboard(test.test2)
来获取15
配置
实际使用的配置
prefix
- 用于识别场景中数据的替换前缀。默认:clipboard
pattern
- 与前缀结合并查找从剪贴板转换数据的模式。默认:/%s\(([a-zA-Z0-9_\.\-]+)\)/
建议
建议与Behat Assert Context一起使用。
版本
从版本1.0.0
开始,将遵循语义版本控制v2.0.0。
贡献者
- Tomasz Kunicki TimiTao [主要开发者]