3

任务

我们正在使用由 yeoman 生成的 Angular 应用程序,并且我们想使用 cucumberjs 来测试我们的应用程序。我已经用grunt-cucumbergrunt test替换了默认任务的业力(其他方面相同)。

我们有一个支持文件,可以将zombiejs 添加到世界中,world.js:

var Zombie = require('zombie');
var World = function(callback) {
  this.browser = new Zombie();

  callback();
};
exports.World = World;

在步骤定义内部有:

this.World = require('../support/world.js');
...
this.browser.visit('http://localhost:9000/', callback);

问题

这给出了 404 错误:

Error: Server returned status code 404 from http://localhost:9000/ at /home/vagrant/Projects/ShadowWolf/client/node_modules/zombie/lib/zombie/window.js:411:23 at /home/vagrant/Projects/ShadowWolf/client/node_modules/zombie/lib/zombie/eventloop.js:234:18 at Object._onImmediate (/home/vagrant/Projects/ShadowWolf/client/node_modules/zombie/lib/zombie/eventloop.js:139:11) at processImmediate [as _immediateCallback] (timers.js:330:15)

故障排除

但是,当我运行本地程序grunt serer:test并从节点提示符运行与上面相同的 javascript 时,一切都按预期工作(尽管我确实得到了“10 $digest() 迭代达到。中止!”当我尝试打印页面的文本时- 它确实打印了)。

问题

所以我的问题是,我应该如何从我的 cucumberjs step_definition 文件中访问网页的测试版本?

4

0 回答 0