任务
我们正在使用由 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 文件中访问网页的测试版本?