【问题标题】:Travis CI and npm, how to close node server after it startsTravis CI 和 npm,如何在节点服务器启动后关闭它
【发布时间】:2018-04-05 16:19:41
【问题描述】:

我想测试一个项目的所有依赖项,需要测试服务器是否运行。一旦成功运行,它应该关闭服务器并完成构建。下面是我的 .travis.yml 文件:

language: node_js

node_js:
  - "stable"

services:
  - mongodb

install:
  - npm install
  - (cd client/ && npm install)

before_script:
  - cd client/

script:
  - npm start

我有以下脚本:

"start": "concurrently \"node scripts/start.js\" \"node ../bin/www\"",
    "build": "node scripts/build.js",
    "test": "node scripts/test.js --env=jsdom"

如何在服务器正常运行后测试我的项目并完成构建?不知何故,它需要运行 npm start ,然后运行 ​​npm test ,但 npm test 要求您输入 a 来运行所有测试。它运行 npm start 来启动服务器,但等待并且无法退出 npm test 运行。

【问题讨论】:

  • 请发布您的包裹 json。如果你不能发布整个包 json。然后发布脚本部分。编辑:没关系。
  • 你能找到停止服务器的方法吗?
  • @Gorgon_Union no

标签: node.js reactjs npm automated-tests travis-ci


【解决方案1】:

您所描述的是对应用程序启动进行单元测试。这不是它的工作原理。 您可以设置测试来检查服务器的不同方面,甚至是应用程序启动,但它们是作为“测试”而不是实际应用程序运行的。

您甚至可以测试不同的路线。

【讨论】:

    【解决方案2】:

    我最近在我的 travis.yml 文件中遇到了这个问题。 这个答案不包括如何关闭服务器,但它有其他信息可能会有所帮助。 在 Travis 环境中启动服务器可能需要一段时间。等到你的服务器启动

    睡眠30(一般需要15-20秒以上)

    试试npm start &,这里的和号“&”在后台模式下运行你的服务器。因此,您可能不需要关闭它。

    希望这对其他人有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-17
      相关资源
      最近更新 更多