无法将Regexp转换为String(TypeError)Cucumber rails

时间:2014-10-07 20:08:57

标签: ruby-on-rails regex cucumber

当我尝试实现步骤定义时出现以下错误; 警告:使用' Given / When / Then'在步骤定义中已弃用,请使用' step'改为调用其他步骤 以下是我的电影步骤

Given /the following movies exist/ do |movies_table|
  movies_table.hashes.each do |movie| 
  Movie.create!(movie)
 end

Then(/^the director of "(.*?)" should be "(.*?)"$/) do |arg1, arg2|
  movie = Movie.find_by_arg1(arg1)
  movie.arg2.should == arg2**
end

它在当时的陈述中失败,并要求我替换'然后'用&步骤'我做了但最终得到了同样的错误! 所以我的问题是如何转换'然后'用例进入一个步骤'定义?我尝试了几种方法,但都失败了!有些人可以帮助我或指出正确的方向我对此有点新鲜......

2 个答案:

答案 0 :(得分:1)

你的Given没有被正确终止 - 它没有结束:

Given /the following movies exist/ do |movies_table|
  movies_table.hashes.each do |movie| 
    Movie.create!(movie)
  end
end

答案 1 :(得分:0)

给定/以下xxx存在/ do | xxxx_table |   xxxx_table.hashes.each do | xxxx |   xxxx.create!(XXXX)  结束 端

然后(/ ^"(。?)"的导演应该是"(。?)" $ /)do | arg1, ARG2 |   movie = xxxx.find_by_arg1(arg1)   xxxx.arg2.should == arg2 ** 端