为渲染页面设置一个简单的Phantom / Mocha测试?

时间:2013-11-07 15:10:37

标签: javascript testing backbone.js phantomjs mocha

我想使用PhantomJS和Mocha为我的Backbone应用程序添加测试。

我一直关注this tutorial。我想在我现有的Backbone应用程序中加载一个页面,并检查标题标签是我期望的。

这是我在test/test.js中的第一次尝试:

describe("DOM Tests", function () {
    var page = require('webpage').create();
    page.open('http://localhost:5000/', function () {
        var title = page.evaluate(function () {
            it("has the right title", function () {
              expect(document.title).to.equal('hello world');
            });
        });
        phantom.exit();
    });
});

我不知道我的语法是否正确,但无论如何,此刻,当我转到http://localhost:5000/testrunner.html时,我看到以下错误消息:

Uncaught ReferenceError: require is not defined 

我该如何解决这个问题?而且,我是否以正确的方式进行测试?

1 个答案:

答案 0 :(得分:0)

您可以通过删除幻像的逻辑来解决此问题。您的代码可能会被重构为

describe("DOM Tests", function () {
   it("has the right title", function () {
     expect(document.title).to.equal('hello world');
   });
});

您当前的实施似乎存在多个问题

  • testrunner.html很可能不包含require
  • 的脚本
  • test.js不包含define( function( require ) { //your code here } );。您可以查看requirejs Getting Started以获取更多信息。

此外,如果您为您提到的网站下载example files,您将能够看到完整的测试。我建议您再次仔细阅读其网站上的 PhantomJS和Mocha 部分,特别是该部分下的test.js文件。