我想使用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
我该如何解决这个问题?而且,我是否以正确的方式进行测试?
答案 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
文件。