使用phantomjs运行功能qUnit测试

时间:2013-09-12 08:57:48

标签: javascript testing phantomjs gruntjs qunit

我正在尝试测试一堆页面的功能(例如模拟点击,检查类附加等)并认为phantomjs将是我测试的好主机。

虽然我不能为我的生活找出如何结合qunit和phantomjs。 (我也试图通过Grunt的qunit模块运行它)

我以为我可以做这样的事情,并且混合幻像和qunit语法......

var page = require('webpage').create();
page.viewportSize = { width: 1280, height: 1024 };
page.onConsoleMessage = function (msg) {
    console.log(msg);
};

page.open('home.html', function () {
    module("tests");
    test('test', 1, function(){
        $('#button').on('click', function(){
            ok(true, 'button was clicked!');
        });
        $('#button').trigger('click');
    });
});

但显然这确实是错误的。

是否将我的页面内容注入test.html文件中的qunit-fixture div?或者我是以完全错误的方式进行的?

1 个答案:

答案 0 :(得分:0)

grunt-contrib-qunit模块实际上将phantomjs安装为依赖项。当您设置grunt任务来运行qunit测试时,它将生成一个phantomjs实例。例如,我设置了我的咕噜声任务:

...
qunit: {
  nav: [ "tests/nav.html", "tests/footer.html" ],
  search: [ "tests/search-tests.html" ]
}

然后运行我的测试:

grunt qunit:search

或者运行所有测试:

grunt qunit