2016-04-06 4 views
0

if @current_lesson.code == @current_course.answerのような2つの等価な文字列をテストし、回答の一部を除外するテストステートメントをどのように取るのですか?だから、ユーザに<p>タグを書き込ませたいのであれば、<p>タグを持っている限り、どうすれば正しいのでしょうか?レールでテストするときに文字列の一部を除外します

答えて

1

<p>タグが文字列内にあるかどうかを確認するにはRegexpを使用します。 Rspecを使用している場合、matchesマッチャーを使用します。コードはこのようなものになるだろう

expect(@current_lesson.code).to match(/\<p\>.+\<\/p\>/) 

正規表現をチェックしdidntの、それだけでポイント:)を証明することです。

+0

しかし、私はそれが@のcurrent_course.answerでどのように使用しますか? – Xavier

+0

"正解"の定義方法によって異なります。ユーザーを100%正確にしたい場合は、 'include?'または 'expect(@ current_lesson.code).to(@ current_course.answer)'とマッチさせてください。より柔軟にしたいのであれば、 '@ current_course.answer'が動的であるため、やりにくくなります。 – born4new

1

あなたは文字列オブジェクトのための "含ま" メソッドを使用することができます。

例:

if @current_course.answer.include? @current_lesson.code 
    #Your code logic here 
end 
+0

非常に厳密なモード: 'current_lesson'が**正確には**答えと同じである場合にのみ働くでしょう... – born4new

+0

ああ、他の人はうまくいくでしょうか? – Xavier

関連する問題