使用PhantomJasmine时,PhantomJS“找不到变量:require”

时间:2012-08-09 21:09:15

标签: jasmine phantomjs

我想使用Phantomjs和Jasmine进行单元测试javascript。 Phantomjs的网站建议我使用单独的东西来处理这个问题,特别是PhantomJasmine。我下载了PhantomJasmine并运行了示例。一切都很顺利。然后我将行var system = require('system');添加到example_spec.js的顶部。当我尝试运行示例时,Phantomjs现在抛出错误我得到“ReferenceError:找不到变量:require”。所以,我想要做一些事情,比如启动浏览器,但看起来我无法结合jasmine和phantomjs语法。我只能使用Phantomjs运行纯茉莉。我怎样才能在同一个文件中使用它们?像:

console.log('Loading a web page');
var page = new WebPage();
var url = "http://www.phantomjs.org/";
page.open(url, function (status) {
    //Page is loaded!
    describe("A suite", function() {
      it("contains spec with an expectation", function() {
        expect(true).toBe(true);
      });
    });
    phantom.exit();
});

1 个答案:

答案 0 :(得分:4)

你不应该如何使用它。控制phantomjs的代码不应该与茉莉花规格相混淆,反之亦然。

您应该将您的规范分成.js文件,并使用HTML规范运行器创建标准的jasmine设置,该规范运行器加载spec .js文件并在phantomjs中打开该HTML文件。

另一个解决方案是使用含有phantomjs和jasmine的grunt来自动运行茉莉花规格。

https://github.com/cowboy/grunt
https://github.com/creynders/grunt-jasmine-task