幻影没有方法'创造'

时间:2015-02-18 17:17:05

标签: node.js phantomjs

我正在尝试将phamtom用于node express app。

出于测试目的,我写了这个测试

'use strict' ;

var buster = require("buster"),
  phantom = require('phantom'),
  server="http://localhost:3000";
buster.spec.expose();
describe("get index page", function () {
it("is accessable", function(phantom) {
  phantom.create(function (error,ph) {
    ph.createPage(function (page) {
      ... ...
            ph.exit();
          }
        });
    });
  });
console.log('phatom.create.done') ;
});
});

但是用

进行测试时
node test/node-test-index.js

对象幻像没有方法创建

TypeError: Object function (fn) {
              if (typeof fn !== "function") { return resolve("resolve"); }
              return function () {
                  try {
                      var retVal = fn.apply(this, arguments);
                      resolve("resolve");
                      return retVal;
                  } catch (up) {
                      resolve("reject", up);
                  }
              };
          } has no method 'create'
      at Object.<anonymous>     (/home/hebus/Documents/git/system/nodejs/searchEs/test/node-test-index.js:25:15)

1 个答案:

答案 0 :(得分:0)

如果it回调,您将覆盖本地范围内的变量引用。不要重用变量名!

it("is accessable", function(done) {

您的代码出现的另一个问题是phantom.create()回调的错误参数。

如果您确实在使用phantom模块,则需要更改

phantom.create(function (error,ph) {

phantom.create(function (ph) {

如果没有,那么你应该使用

var phantom = require('node-phantom');

这是node.js和PhantomJS之间非常相似的桥梁。