背景
我正在努力弄清楚CucumberJS 2.0.0,自1.3.0以来发生了很大变化。
Cucumber表达式可用于步骤定义中以替换正则表达式:
When(/^I search for "{searchTerm}"$/, function (searchTerm) {
而不是:
When(/^I search for "([^"]*)"$/, function (searchTerm) {
我们想使用似乎是CJS2一部分的Cucumber表达式,使我们的步骤定义更具可读性(在某些地方我们有相当多的正则表达式会让初学者感到困惑)我们无法想象如何做到这一点。
问题
参考Cucumber表达式的documentation,一切似乎都很好,但ParameterRegistry
类在我的代码中未定义。
ParameterRegistry is not a constructor
基本上我想知道CucumberJS社区中是否有人设法让这个工作起来并帮助我开始使用Cucumber Expressions。
答案 0 :(得分:2)
我找到了办法:
When('I search for {searchTerm:stringInDoubleQuotes}', function (searchTerm)
为例。
要制作自己的,请使用addTransform
功能。
一个例子:
defineSupportCode(function({addTransform}){
addTransform({
captureGroupRegexps: ['\\d+(?:|\\.\\d{2})'],
transformer: JSON.parse,
typeName: 'money'
});
});