2012-01-09 12 views
8

हमने हाल ही में हमारे चमेली चश्मे में अनियंत्रित Ember.testing ध्वज का उपयोग करना शुरू कर दिया है जो प्रभावी रूप से autorun runloop सुविधा को अक्षम करता है। हमने पाया है कि हमें रनूप्स में कोड मैन्युअल रूप से लपेटने के बारे में काफी स्पष्ट होना चाहिए, लेकिन हमने हमें अपने चश्मा में और अधिक स्थिरता भी दी है क्योंकि यह जिस तरह से हमने लिखा है, उसमें समस्याएं हाइलाइट करती हैं और बाइंडिंग के दौरान दस्तावेज में मदद करती है परीक्षण के तहत कोड के लिए महत्वपूर्ण हैं।क्या यह इकाई परीक्षणों के लिए Ember.testing = true सेट करने की अनुशंसा की जाती है?

क्या इस सुविधा के उपयोग पर कोई आधिकारिक रेखा है? ऐसा लगता है कि हमारे ऐप में काफी सकारात्मक प्रभाव पड़ा है लेकिन मुझे संदेह है कि ज्यादातर लोगों को इसके बारे में पता नहीं है।

उत्तर

-1

मैंने कभी भी Ember.testing ध्वज का उपयोग नहीं किया है। मुझे यह जानने में दिलचस्पी होगी कि इसे सक्षम करने से आपके चश्मा में और अधिक स्थिरता हो गई है। मैं किसी भी मुद्दे के बिना जैस्मीन में एम्बर ऐप्स का परीक्षण कर रहा हूं।

मुझे एम्बर टेस्ट सूट के Ember.run() और Ember.run.sync() के उपयोग के बाद सफलता मिली है।

+1

स्थिरता मुख्य रूप से डेवलपर्स से रन लूप के बारे में सोचने के लिए मजबूर होना प्रतीत होता है, यह कैसे चल रहा कोड और उस कोड पर किए गए दावों से संबंधित है। एम्बर इंटर्नल्स का एक बड़ा सौदा वर्तमान रन लूप होने पर भरोसा करता है या वे एक अपवाद फेंकते हैं ताकि ऑटोरन रनलॉप न हो, यह देखना आसान है कि एप्लिकेशन कोड पर एक स्पेक को कॉल करना चाहिए। –

+2

चश्मा के कारण हमारे पास कई बार असफल असफलताएं थीं जो कभी-कभी उन जगहों पर गुजरती हैं जहां मुझे लगता है कि उन्हें लगातार असफल होना चाहिए था। Ember.testing = true सेट करना सुनिश्चित किया कि ये चश्मा हमेशा विफल रहे। –

7

हां, आपको निश्चित रूप से Ember.testing = true अपने परीक्षणों में सेट करना चाहिए।

Ember.testing के बिना, रनलोप्स स्वचालित रूप से setTimeout के साथ निर्धारित होते हैं, जहां आप अस्थिरता से बात कर रहे हैं।

नोट: इस समय, जब आप Ember.testing सक्रिय करें, आपको आवश्यक रूप से अप Em.run => के साथ अपने परीक्षण कोड में लाइनों के कई लगाकर, जैसे

Em.run => obj.set('someProperty', true) 

अंत में आप के लिए, यह जोर से शिकायत भूल जाते हैं, या जब आप इसके खिलाफ दावे चलाने की कोशिश करते हैं तो गुण/ऐप स्थिति अपडेट नहीं होती है।

शायद यह कुछ दिन में सुधार किया जाएगा, लेकिन अब इसके लिए चिंतित होने के लिए कुछ भी नहीं है कि आपका टेस्ट कोड run कॉल के साथ छिड़क दिया गया हो।

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

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