2013-12-13 10 views
6

ध्यान में रखते हुए मेरे कोडassert_select एकल उद्धरण (अपॉस्ट्रफ़ी) सामग्री के साथ विफल रहता है

<h3 id="account_owner">This is Jhon's account</h3> 

इस कोड

assert_select "h3#account_owner", "This is Jhon's account" 

टेस्ट में विफल रहता है और

"यह कहते हैं परीक्षण करने के लिए लाइन है झोन का खाता है "की उम्मीद थी, लेकिन यह झोन & # x27; एस खाता '

मैंने "& # x27;" के बीच एक जगह डाली; क्योंकि यह इस प्रश्न के आउटपुट पर भी बदल जाता है। कोई अनुमान है? या मुझे इस लाइन का परीक्षण कैसे करना चाहिए?

+0

अपनी टेस्ट फ़ाइल की पहली पंक्ति में '# एन्कोडिंग: यूटीएफ -8' जोड़ने का प्रयास करें, संदर्भ: http://stackoverflow.com/questions/20338047/integration-testing-html-special-characters –

+0

@Taiki कोशिश की, लेकिन काम नहीं किया। –

उत्तर

3

मैं मान्य उत्तर नहीं मिला था, लेकिन उस लाइन मैं फिर से assert_select "h3#account_owner", "This is Jhon's account".gsub("\'", '&# x27;')

की तरह कुछ करने के परीक्षण करने के लिए, मैं के बीच एक रिक्ति डाल "& # x27;" क्योंकि यह इस जवाब के आउटपुट पर भी बदल जाता है। मैं अभी भी इसका परीक्षण करने के लिए बेहतर तरीका ढूंढ रहा हूं।

0
expect(rendered).to have_css(".columns", :text=>"This is John's account") 

assert_select के बजाय has_css का उपयोग करें।

+2

कृपया, केवल कोड से बचें और अपने समाधान की व्याख्या करें। – Micho

+1

हालांकि यह कोड स्निपेट प्रश्न हल कर सकता है, [एक स्पष्टीकरण सहित] (// meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers) वास्तव में आपकी पोस्ट की गुणवत्ता में सुधार करने में मदद करता है। याद रखें कि आप भविष्य में पाठकों के लिए प्रश्न का उत्तर दे रहे हैं, और वे लोग आपके कोड सुझाव के कारणों को नहीं जानते हैं। स्पष्टीकरण टिप्पणियों के साथ अपने कोड को भीड़ न करने का प्रयास करें, इससे कोड और स्पष्टीकरण दोनों की पठनीयता कम हो जाती है! – kayess

संबंधित मुद्दे