2014-10-07 12 views
0

當我嘗試實現步驟定義時出現以下錯誤; 警告:使用「鑑於/時/那麼」步驟定義已經過時,用「步」調用其他步驟來代替 下面是我的電影步驟無法將正則表達式轉換爲字符串(TypeError)黃瓜導軌

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 

它失敗的然後聲明並要求我用'step'替換'then',但我卻以相同的錯誤結束了! 所以我的問題是如何將'Then'用例轉換爲'step'定義?我嘗試了幾種方法,但都失敗了!有人在那裏可以幫助我或我指向正確的方向,我還挺新本...

+0

伊恩您好我感謝你及時的回覆!我嘗試了沒有括號,得到了相同的結果/錯誤! – user3435842 2014-10-07 20:46:43

回答

1

你考慮到沒有正確終止 - 它缺少結束:

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

嗨伊恩,當我運行給定的語句,而沒有它通過2個結束的話語!然而,隨後的聲明包括2個結束它失敗.. – user3435842 2014-10-07 21:12:24

+0

然後語句看起來不錯 - 你需要匹配每個'做'與'結束' – 2014-10-07 22:19:09

+0

它確定,但鐵軌/黃瓜不會接受它,因爲它不遵循正常的議定書給定/當/然後,黃瓜要求執行這個聲明沒有'那麼'!提供了一個建議,使用「步驟」我的qn是如何使用'步驟'而不是那麼重寫此語句? – user3435842 2014-10-07 22:26:41

0

鑑於/以下xxx exists/do | xxxx_table | xxxx_table.hashes.each do | xxxx | xxxx.create(XXXX) 結束 結束

然後(中/ ^導演應該是 「()。?」 $/「()?」)做|!ARG1,ARG2 | 電影= xxxx.find_by_arg1(ARG1) xxxx.arg2.should == ARG2 ** 結束

相關問題