2016-04-06 20 views
0

我該如何測試兩個相等字符串(如if @current_lesson.code == @current_course.answer)的測試語句,並排除答案的某些部分。所以,如果我想讓用戶用其中的任何內容寫一個<p>標籤,那麼只要他們有<p>標籤,我如何才能正確使用它?在導軌中測試時排除部分字符串

回答

1

我會使用正則表達式來檢查你是否有一個<p>標籤與字符串中的文本。如果你使用Rspec,我會使用matches匹配器。

的代碼將是這樣的:

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

Didnt檢查正則表達式,它只是證明這一點:)。

+0

但我怎麼會與@ current_course.answer使用它呢? – Xavier

+0

這取決於你如何定義「正確答案」。如果您希望用戶百分百正確,請使用include?或expect(@ current_lesson.code)。來匹配(@ 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