如何干净地退出针对CI的npm服务器测试?

时间:2017-10-14 16:46:25

标签: node.js bash server travis-ci

我一直在开发一个基于节点的服务器,我想在Travis-ci上测试过,问题是我现在唯一要测试的是服务器是否在 start上有任何错误

(它只是提供API的后端;它在启动时所做的一切都是在端口之外提供的。)

如果它开始正常,我不希望它在CI的VM上永远运行。我已经尝试在我的package.json中使用 test 脚本指向一个bash脚本,该脚本使用带有PID的kill但是没有干净地退出以传递Travis&# 39; s build。

长话短说,我应该写什么让我的测试运行npm start几秒钟,然后如果没有错误就干净地关闭节点?

1 个答案:

答案 0 :(得分:0)

您可以在服务器周围添加一个包装器,作为测试运行,您可以在x秒后退出或发生错误。像这样:

require('./myserver') // i asume this starts your server
setTimeout(() => process.exit(0), 5000) // exits with 0 exit code after 5 seconds
process.on('uncaughtException', (err) => {
  console.log(err)
  process.exit(1)
})