0

我正在編寫一些操作DOM的代碼,我想在瀏覽器環境中運行它,但我不知道該如何操作。如何在瀏覽器環境中運行單元測試?

我寫了使用測試庫AVA,爲我的小型圖書館promisify-dom-selector一個樣機測試:

const test = require('ava') 
const promisifyDOMSelector = require('index.js') 

test('pGetElementById works', t => { 
    const pGetElementById = promisifyDOMSelector(document.getElementById) 

    pGetElementById('load-later') 
    .then((el) => { 
     t.deepEqual(el, document.getElementById('load-later')) 
    }) 

    const testEl = document.createElement('div') 
    testEl.id = 'load-later' 
    document.body.appendChild(testEl) 
}) 

,並希望在Headless Chrome運行它。

我試圖建立噶與AVA插件karma-ava但它甚至不工作,這裏是錯誤消息:

我不會噶途徑,如果可能去,但我不知道任何其他方式!我能做什麼?

+0

看着casperjs。 casper是phantomjs的包裝,可以完成所有事情。 – archae0pteryx

+0

我只爲您提供了這篇文章:https://developers.google.com/web/updates/2017/06/headless-karma-mocha-chai。祝你好運 –

+0

@TravelingTechGuy是的我試圖走的那條和使用業力的方式,但它沒有解決與ava – Pontiacks

回答

1

如果你不需要實際上在瀏覽器中測試然後browser testing配方包括一些有用的指針。

https://github.com/avajs/karma-ava在一年內還沒有看到任何工作,所以我不驚訝,如果這不起作用。

如果您確實需要在實際的瀏覽器中運行您的代碼,我會使用http://www.nightmarejs.org/或其他可以從AVA控制的HTML文檔來測試您的庫。

+0

是的,我知道nightmare.js,但想用HeadlessChrome,因爲更新鮮。也沒有Chromeless有相同的惡夢。api – Pontiacks

+0

好吧,嘗試瀏覽器env作爲該配方說,遇到了問題https://github.com/tmpvar/jsdom/issues/639。也嘗試摩卡,它與異步/等待問題。所以我想他媽的測試這個回購。無論如何,感謝您的幫助。 – Pontiacks

相關問題