2009-08-20 26 views
3

私は自信を持ってBDDを教え、一般的にテストするためのレールアプリに取り組んでいます。キュウリ+ webrat + rspecを使用して、鉄道ビデオの後にビデオtuts。 このアプリでは、クイズhas_many質問があります。私がテストしているビューは、問題を2回連続して非連続的に表現するべきです。私はツールを使って正規表現をテストし、動作しているようですキュウリ+ webrat:テキストが2回表示されていることを確認する

Then /^I should see "([^\"]*)" twice$/ do |text| 
    regexp = Regexp.new(text + "(.+)" + text) 
    response.should contain(regexp) 
end 

:私は私のステップは、次のように定義されている。この

Given quiz titled "Pearl Jam" has questions named "Corduroy, Dissident" 
When I go to the experiment page for quiz titled "Pearl Jam" 
Then I should see "Corduroy" twice 
And I should see "Dissident" twice 

をチェックを目的としたキュウリのシナリオを持っている を(ここでは連続性をテストしていません)しかし、試験はキュウリで失敗する。
私はいくつかのドキュメントを検索しましたが、webratの唯一のドキュメントはAPIドキュメントです。私は応答をテキストとして表示することができませんでした。 提案がありますか?

答えて

6

あなたは応答を試みましたか?

Then /^I should see "([^\"]*)" twice$/ do |text| 
    regexp = Regexp.new(text + "(.+)" + text) 
    response.body.should contain(regexp) 
end 
+0

完璧な答え。ありがとう – nutsmuggler

+0

コードに遭遇したときにこれらのことを見逃すのは簡単です! – Damian

1

私はこれが行にわたって動作させるためにダミアンの答えを変更する必要がありました。

Then /^I should see "([^\"]*)" twice$/ do |text| 
    regexp = Regexp.new(text + "(.+)" + text, Regexp::MULTILINE) 
    response.body.should contain(regexp) 
end 
関連する問題