2012-07-03 5 views
12

जावास्क्रिप्ट दृश्यों का परीक्षण करने का सबसे अच्छा तरीका क्या है (यह देखने के लिए परीक्षण करें कि कोई पृष्ठ जावास्क्रिप्ट के अनुसार काम करता है) रेल में?रेल में

तो मान लें कि मेरे पास /users/new नामक एक पृष्ठ है जिसमें एक ऐसा फॉर्म है जो कुछ करता है। मैं इसे प्राप्त करना चाहता हूं ताकि मैं फॉर्म जमा कर सकूं और जावास्क्रिप्ट परीक्षण उपकरण मुझे बताएगा कि वह पृष्ठ टूट गया है या नहीं। इसे करने का बेहतरीन तरीका क्या है?

मैं परीक्षण के लिए तीन विकल्प भर में आ गए हैं: (जे एस BDD के लिए अब तक सबसे अच्छा उपकरण)

  1. Konachahttp://www.solitr.com/blog/2012/04/konacha-tutorial-javascript-testing-with-rails/

  2. जैस्मिन राइस (जैस्मीन + रेल + गार्ड) https://github.com/bradphelan/jasminerice/

  3. कैपिबरा वेबकिट। https://github.com/thoughtbot/capybara-webkit

पहले दो BDD और पृथक परीक्षण के लिए मूल रूप से कर रहे हैं। आखिरी वाला जो मैं ढूंढ रहा हूं उसके लिए अधिक है, लेकिन मैं जावास्क्रिप्ट बीडीडी और एकीकरण परीक्षण के लिए एक अलग परीक्षण सेटअप नहीं चाहता हूं।

क्या किसी के पास बेहतर समाधान है?

उत्तर

5

आप RSpec का उपयोग कर रहे हैं, तो आप एक RSpec एकीकरण की परीक्षा में Capybara उपयोग कर सकते हैं:

spec/requests/my_spec.rb: 

describe "my test", :js => true do 
    it "should do something" do 
    visit '/some/path' 

    click_on 'Submit' 

    page.should have_content 'Congratulations!' 
    end 
end 

spec_helper.rb में Capybara.javascript_driver = :webkit सेट करना न भूलें।

+2

यह हम एक बड़े आवेदन के लिए करते हैं। यह काम करता है, लेकिन * बहुत धीमा है। आप केवल वही करना चाहते हैं जहां आपको बिल्कुल आवश्यकता है। चम्मच के लिए –

8

जिथब पर चम्मच परियोजना की जांच करें।

https://github.com/modeset/teaspoon

यह मोचा, जैस्मीन, और QUnit का समर्थन करता है .. अपने चश्मा (या सेलेनियम Webdriver) PhantomJS साथ headlessly चलाने के लिए अच्छा समर्थन हासिल है, और पूर्ण रेल संपत्ति पाइपलाइन (coffeescript, जुड़नार, आदि) का उपयोग कर की अनुमति देता है ।

इसके अलावा, यह रेल के उपयोग से अन्य परीक्षण धावकों के साथ अपने अनुभव से काफी प्रभावित था।

+0

+1। मुझे वास्तव में इसके कवरेज समर्थन पसंद है। –

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