2013-03-25 78 views
3

只是一个快速的背景。我正尝试使用Cucumber.js在express/node应用程序中执行BDD。它在Rails中运行得非常好,所以我希望保持相同的框架。我的问题是,我的任何测试运行我需要手动启动服务器。使用测试框架时如何启动节点服务器?

例如,在我的测试/场景中,我使用了僵尸模块的浏览器对象访问一个页面:this.browser.visit(path, function(){ ... });

为了得到这个工作,我总是跑NPM启动节点app.js之前,我跑cucumber.js。我想服务器启动时,我称之为cucumber.js从命令行运行测试不必手动启动它之前,我跑我的测试来代替。

我的失败尝试:

样品快速应用与黄瓜+ Makefile文件

  1. 上面链接是使用一个Makefile启动的Node.js服务器并运行测试样品回购。我试图复制和编辑该文件在我自己的项目中使用,但我不断收到错误:

    { [Error: connect ECONNREFUSED] code: 'ECONNREFUSED', errno: 'ECONNREFUSED', syscall: 'connect' }

    如果我手动运行该服务器,然后运行Makefile文件,测试工作。

  2. Grunt.js

理想情况下,我想用步兵来管理我的测试,但我有同样的问题。我已经开始玩弄咕噜黄瓜,但它并没有用于运行测试之前启动服务器的选项。

回答

0

使用grunt.js与咕噜黄瓜和grunt-connect它开始在当前目录中的服务器。

,那么你可以定义一些别名任务,首次启动时连接服务器,然后运行您的黄瓜测试:

grunt.registerTask("your-task-name", ["connect", "cucumber"]); 
相关问题