为呈现的页面设置一个简单的幻影/摩卡测试

Set up a simple Phantom / Mocha test for a rendered page?

本文关键字:简单 一个 幻影 摩卡 测试 页面设置      更新时间:2023-09-26

我想使用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 

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

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

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和Mocha部分,特别是该部分下的test.js文件。