2015-01-09 18 views
7

मुझे पता है कि कई अन्य समान प्रश्न हैं, हालांकि उत्तर इस समस्या को हल नहीं करते हैं।हेडलेस जावास्क्रिप्ट परीक्षण एचटीएमएल 5 ऑडियो/वीडियो

मेरे पास एक वेबसाइट है जो मेरी वेबसाइट पर उपयोग की जाती है जो एचटीएमएल 5 वेब ऑडियो का उपयोग करती है और यूनिट का परीक्षण करना चाहता है।

मैं PhantomJS साथ और इससे पहले कि QUnit का उपयोग कर पर ध्यान दिया है आप कहते हैं कि कुछ भी मैं जानता हूँ कि कि प्रेत इसका समर्थन नहीं करता (http://phantomjs.org/supported-web-standards.html) लेकिन मैं अगर वहाँ इस के चारों ओर एक रास्ता है जानना चाहते हैं?

ब्राउज़र में क्विनीट का उपयोग करके इसका परीक्षण करना जैसा कि आप उम्मीद करेंगे, लेकिन मैं हर बार ब्राउज़र का उपयोग करके इसका परीक्षण नहीं करना चाहता, मैं इसे सर्वर पर स्वचालित करना चाहता हूं।

परीक्षण है कि विफल रहता है में से एक का एक उदाहरण:

QUnit.test("isPlaying", function(assert){ 

    // true case 
    My.Sound.play("background"); 
    assert.ok(My.Sound.isPlaying("background"), "The background audio is playing"); 

    // false case 
    My.Sound.pause("background"); 
    assert.ok(!My.Sound.isPlaying("background"), "The background audio is not playing"); 
}); 
+1

मुझे नहीं पता कि क्लिनी स्लिमरजेएस के साथ चलता है, लेकिन अगर ऐसा होता है तो आप स्लिमरजेएस + एक्सवीएफबी –

+2

के साथ ऐसा करने में सक्षम हो सकते हैं, आप हमेशा पूरे वेब ऑडियो एपीआई को नकल कर सकते हैं ... लेकिन लगता है कि ओवरकिल की तरह लगता है। आप यहां क्या परीक्षण कर रहे हैं एचटीएमएल 5 वेब ऑडियो काम करता है, न कि अपना कोड। – jakerella

+0

स्लिमरजेएस और एक्सवीएफबी के साथ स्वचालित परीक्षण के लिए संबंधित: https://askubuntu.com/questions/430247/which-packages-should-be-installed-on-ubuntu-server-so-it-will-be-able-to- खेलने-v/430,251 # 430,251 –

उत्तर

0

रूप @jakerella पहले ही बताया है, यह तीसरे पक्ष एपीआई का परीक्षण करने के लिए कोई मतलब नहीं है। बस अपनी कार्यक्षमता पर ध्यान केंद्रित करें। इस मामले में, आपको परीक्षण करना चाहिए कि जब भी आप ध्वनि को बजाना/रोकना चाहते हैं, तो आप अपनी ध्वनि वस्तु (प्ले/पॉज़) के लिए सही एपीआई विधियों का आह्वान करते हैं, जो मूल कार्यान्वयन के स्टब्स होना चाहिए।

QUnit.test("play button should play sound when clicked", (assert) => { 
    const button = someButton; //...get your button/play trigger here 
    const playStub = stub(My.Sound, 'play'); 

    //trigger button click 

    assert.ok(playStub.called); 
}); 

QUnit साथ कार्यक्षमता छोटा करते के लिए एक नज़र here लो।

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