0

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

我一直在关注本教程。我想在我现有的 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 

我怎样才能解决这个问题?而且,我是否以正确的方式进行测试?

4

1 回答 1

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 入门以获取更多信息。

此外,如果您下载您提到的站点的示例文件,您将能够看到完整的测试。我建议再次仔细阅读他们网站上的PhantomJS 和 Mochatest.js部分,特别是他们在该部分下的文件。

于 2013-11-08T19:38:31.483 回答