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"]); 
相關問題