2012-06-07 20 views
8

मैं बैकबोन.जेएस एप्लिकेशन पर काम कर रहा हूं और Jasmine & Sinon के साथ परीक्षण जोड़ने के दौरान मुझे कुछ डीओएम तत्वों की दृश्यता निर्धारित करने में समस्याएं थीं: उनमें से कुछ को पता चला जैसा कि परीक्षण में दिखाई नहीं दे रहा था, जबकि मैं उन्हें अपने आवेदन में सही ढंग से देख सकता था। पहला सेट SpecRunner.html मैं अपने रीढ़ की हड्डी के दृश्य में प्रस्तुत तत्वों की दृश्यता का परीक्षण नहीं कर सकता

  • दूसरे से एक रहा है में सीधे मौजूद है

    • :

      मैं एक छोटा सा उदाहरण है कि समस्या प्रतिकृति बनाई गई, एक ही परीक्षण तत्वों के दो सेट पर दो बार चलाया जाता है एक बैकबोन दृश्य

    परीक्षण ही jQuery.is(':visible') उपयोग कर रहा है पता करने के लिए यदि तत्वों दृश्य या नहीं कर रहे हैं (चमेली-jQuery के .toBeVisible() के माध्यम से) के रूप में प्रदान। यह पहले सेट के लिए गुजरता है, दूसरे के लिए नहीं।

    मैं एक GitHub परियोजना के रूप में यहाँ कोड साझा: https://github.com/maximevaly/3789_js

    मुझे लगता है कि मैं कुछ भूल गया, या हो सकता है एक पुस्तकालय का दुरुपयोग किया, लेकिन मैं नहीं तो उस पर मेरी उंगली रख सकते हैं अगर आप किसी भी सुराग है ... :)

    धन्यवाद! अधिकतम

  • उत्तर

    8

    समस्या यह है कि आपका StuffView.el डोम से जुड़ा नहीं है, इसलिए हमेशा दिखाई नहीं देता है। आप शायद className और tagName पैरामीटर को गलत समझाते हैं: इन्हें चयनकर्ताओं के रूप में उपयोग नहीं किया जाता है, लेकिन एक नया नया तत्व बनाने के लिए।

    यह दूसरा परीक्षण ठीक करता है।

    el : "div.container", 
    //tagName : 'div', 
    //className : 'container', 
    

    वैकल्पिक रूप से आप को देखने डोम के लिए मैन्युअल रूप से परीक्षण

    $("body").append(this.view.el); 
    
    +0

    में संलग्न कर सकते हैं मुझे पता था कि मैंने कुछ गलत है, धन्यवाद किया! :) –