キュウリルビーでいくつかの新しいことを試して、私はキュウリ表現を発見しました。キュウリルビー - キュウリ表現
私が試した登録パラメータ:
require 'cucumber/cucumber_expressions/parameter_type'
require 'cucumber/cucumber_expressions/parameter_type_registry'
Cucumber::CucumberExpressions::ParameterTypeRegistry.new.define_parameter_type(Cucumber::CucumberExpressions::ParameterType.new(
'optional_not',
String,
/n't| not|/,
lambda {|s| String.new(s)}
))
Cucumber::CucumberExpressions::ParameterTypeRegistry.new.define_parameter_type(Cucumber::CucumberExpressions::ParameterType.new(
'string_in_double_quotes',
String,
/"[^"]*"/,
lambda {|s| String.new(s)}
))
しかし、私のようなステップの定義を持っている場合:
Given "{string_in_double_quotes} does{optional_not} work" do |thing, invert|
invert = invert.gsub(' ', '')
if invert == 'n\'t' or invert == 'not'
# Something here
else
# Something here
end
end
それはGiven "the expression" does work
かGiven "the expression" does not work
と一致していません - それは、必要があり、単純に来ますステップスニペットで戻って
誰かが間違っていることを知っていますか?
EDITは、基本的な "INT" キュウリの表現はどちらか動作していない、そしてそれが組み込まれるべきであることが判明。
Given "I want {int} potatoes" do |number|
puts "#{number} potatoes"
end
例として、And I want 7 potatoes
と一致していません。
使用:
- キュウリv3.0.0.pre.1
- キュウリ、表現のV3.0.0
- ルビーV2.4.1
ルーキーのキュウリ表現はまだ実際には実装されていないかもしれません。 [サポートを追加するための問題](https://github.com/cucumber/cucumber-ruby/issues/1002)はまだ開いた状態です。 –