Cucumber ruby 如何使用 ParameterType 来转换给定的表达式?
Cucumber ruby how to use ParameterType to transform given expression?
我正在尝试使用 ParameterType
,因为 Transform
已从 3.0 版的 cucumber 中删除 我具有以下功能以及步骤定义和参数类型。我的 ParameterType
是否有任何问题,因为它抛出如下错误:
专题文件:
Scenario: Learn how to write transformations
When I print the date for today
步骤定义
When('I print the date for {today}') do |today|
puts today
end
这是 ParameterType
我正在使用的:
ParameterType(
name: 'today',
regexp: /[\w]+/,
transformer: Date.today
)
获取错误:
When I print the date for date
features/wb_test.feature:11
undefined method `map' for nil:NilClass (NoMethodError)
c:\jruby-9.2.7.0\bin\cucumber:23:in `
'
if Gem.respond_to?(:activate_bin_path)
load Gem.activate_bin_path('cucumber', 'cucumber', version)
else
gem "cucumber", version
如果上述步骤有任何错误,请告诉我。
当我运行你的代码时我得到这个错误:
Scenario: Learn how to write transformations
When I print the date for today
wrong number of arguments (given 1, expected 0) (ArgumentError)
./features/support/parameter_types.rb:16:in `block in <top (required)>'
features/file.feature:15:in `When I print the date for today'
这表明transformer需要是一个函数。我通过将您的 ParameterType
定义更改为:
来让它工作
ParameterType(
name: 'today',
regexp: /[\w]+/,
transformer: ->(str) {Date.today}
)
我正在尝试使用 ParameterType
,因为 Transform
已从 3.0 版的 cucumber 中删除 我具有以下功能以及步骤定义和参数类型。我的 ParameterType
是否有任何问题,因为它抛出如下错误:
专题文件:
Scenario: Learn how to write transformations
When I print the date for today
步骤定义
When('I print the date for {today}') do |today|
puts today
end
这是 ParameterType
我正在使用的:
ParameterType(
name: 'today',
regexp: /[\w]+/,
transformer: Date.today
)
获取错误:
When I print the date for date
features/wb_test.feature:11
undefined method `map' for nil:NilClass (NoMethodError)
c:\jruby-9.2.7.0\bin\cucumber:23:in `
'
if Gem.respond_to?(:activate_bin_path)
load Gem.activate_bin_path('cucumber', 'cucumber', version)
else
gem "cucumber", version
如果上述步骤有任何错误,请告诉我。
当我运行你的代码时我得到这个错误:
Scenario: Learn how to write transformations
When I print the date for today
wrong number of arguments (given 1, expected 0) (ArgumentError)
./features/support/parameter_types.rb:16:in `block in <top (required)>'
features/file.feature:15:in `When I print the date for today'
这表明transformer需要是一个函数。我通过将您的 ParameterType
定义更改为:
ParameterType(
name: 'today',
regexp: /[\w]+/,
transformer: ->(str) {Date.today}
)