2013-01-05 20 views
5

हुई मैं अपने परीक्षण के लिए वेबकिट साथ Capybara उपयोग कर रहा हूँ क्यों है, लेकिन किसी कारण से जब एक परीक्षण यह त्रुटि दिखाता है विफल रहता है, लेकिन नहीं, जहां यह वास्तव में कोड में हुई।RSpec/Capybara नहीं दिखाई दे रहा है, जहां त्रुटियों

Failures: 

    1) online shopping - sign up 
    Failure/Error: page.should have_content 'Payment added successfully' 
     expected there to be content "Payment added successfully" in "Internal Server Error undefined method `client_id' for #<InvoicePayment:0x007fbd5b834008> WEBrick/1.3.1 (Ruby/1.9.3/2012-04-20) at 127.0.0.1:60324" 
    # ./spec/requests/online_shopping_spec.rb:140:in `block (2 levels) in <top (required)>' 

और जब save_and_open_page का उपयोग कर यह सिर्फ त्रुटि दिखाता हूँ, जहां यह हुआ पर कोई जानकारी नहीं के साथ:

आंतरिक सर्वर त्रुटि

अपरिभाषित विधि `# के लिए CLIENT_ID 'WEBrick/1.3.1 (रूबी/1.9.3/2012-04-20) 127.0.0.1: 60324

जो मैं देखने की उम्मीद कर रहा हूं वह रेखा संख्या है आर और समारोह जहां त्रुटि हुई:

एप्लिकेशन/नियंत्रक/invoices_controller.rb: 30: `शो '

मैं गूगल पर इस से संबंधित कुछ भी खोजने के लिए नहीं कर पा रहे है। मैं शायद गलत नामकरण का उपयोग कर रहा हूँ। क्या किसी को पता है कि इसे कैसे ठीक करते हैं?

+0

आप शायद चले गए हैं .. लेकिन क्या आपने समाधान निकाला है? मुझे एक ही समस्या है और समाधान नहीं मिला – lnreddy

+0

आह .. मैंने अभी देखा है कि जब मैं जेएस डालता हूं: सच है, यह मुझे सही त्रुटि ट्रेस नहीं दिखाता है। जब मैं जेएस को हटाता हूं: सच है, यह मुझे सटीक रेखा दिखाता है जहां त्रुटि हुई। – lnreddy

उत्तर

7

असल में कैपिबरा को ऐप के बारे में कोई जानकारी नहीं है, क्योंकि यह विभिन्न प्रक्रिया में चल रहा है। आप इस समस्या का उपयोग करके इस समस्या का समाधान कर सकते हैं https://gist.github.com/1443408

+0

धन्यवाद, वह लिंक आशाजनक दिखता है! –

3

समस्या यह है कि वास्तविक पृष्ठ किसी त्रुटि के कारण प्रस्तुत नहीं हो रही है और इसकी जगह आप कोई आंतरिक सर्वर त्रुटि हो रही है है। तो Internal Server Error undefined method... आपके द्वारा परीक्षण किए जा रहे पृष्ठ की सामग्री है। आरएसपीसी/कैपिबरा आपको यह नहीं बता सकता कि यह कहां हुआ है क्योंकि टेस्ट फ्रेमवर्क केवल उस पृष्ठ पर परीक्षण करता है जो आप वास्तव में पृष्ठ पर देखते हैं, और यह वही है जो आप देखते हैं (जैसा कि आपने पुष्टि की थी कि आपने save_and_open_page चलाया था)।

त्रुटि को ट्रैक करने के लिए आपको अपने रेल त्रुटि त्रुटि, या कंसोल/टर्मिनल को देखना चाहिए जहां से आप इसे चला रहे हैं। अधिक जानकारी के बिना मैं त्रुटि को ट्रैक करने में आपकी सहायता नहीं कर सकता।

उम्मीद है कि मदद करता है।

+0

अजीब बात यह है कि दूसरे एप्लिकेशन पर मैं काम कर रहा हूं, यह टर्मिनल में बिल्कुल लाइन नंबर कहता है जहां यह टूट जाता है! –

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