2017-07-29 165 views
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

相关问题