gpt4 book ai didi

javascript - 使用测试框架时如何启动 Node 服务器?

转载 作者:搜寻专家 更新时间:2023-11-01 00:08:51 25 4
gpt4 key购买 nike

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

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

为了让它工作,我总是必须在运行 cucumber.js 之前运行 npm startnode app.js。我希望服务器在我从命令行调用 cucumber.js 运行测试时启动,而不是在运行测试之前必须手动启动它。

我失败的尝试:

使用 Cucumber + Makefile 的示例 Express 应用

  1. 上面的链接指向一个示例存储库,该存储库使用 Makefile 启动 Node.js 服务器并运行测试。我尝试复制和编辑该文件以在我自己的项目中使用,但我一直收到错误消息:

    { [错误:连接 ECONNREFUSED]
    代码:'ECONNREFUSED',
    errno: 'ECONNREFUSED',
    系统调用:'连接'
    }

    如果我手动运行服务器,然后运行 ​​Makefile,则测试有效。

  2. Grunt.js

理想情况下,我想使用 Grunt 来管理我的测试,但我遇到了同样的问题。我已经开始使用 grunt-cucumber,但它没有在运行测试之前启动服务器的选项。

最佳答案

将 grunt.js 与 grunt-cucumber 和 grunt-connect 结合使用在当前目录中启动服务器。

然后你可以定义一些别名任务,它首先启动连接服务器然后运行你的 cucumber 测试:

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

关于javascript - 使用测试框架时如何启动 Node 服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15623547/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com