在启动节点服务器自动化之前运行MochaJS

时间:2016-07-06 21:29:20

标签: node.js express jenkins mocha

我是Mocha.js的新手,但我做了一些测试用例,我想在服务器自动启动之前运行这些测试。

例如: npm开始 然后所有Mocha的测试都会运行,如果它通过服务器启动,如果没有,则服务器停止。

我正在使用Jenkins进行自动部署

1 个答案:

答案 0 :(得分:0)

您在测试服务器吗?

如果是这样,您应该使用之前 之后的功能处理您的服务器生命周期:

kill

将mocha执行放在npm的var server = require('../my/lib/server'); describe('My server test suite', function () { before(function () { server.listen(8080); }); it('should do my test', function(done){ //my test }); after(function () { server.close(); }); }); 的测试任务中,例如:

package.json

然后,您可以在执行shell 构建步骤下的服务器测试作业中运行"scripts": { "test": "node ./node_modules/.bin/mocha --globals '*'" }

然后,如果您想部署该测试版本,您应该:

  • 创建另一份工作(例如: server-deploy )。
  • 服务器测试作业中安装并使用Parametrized Trigger plugin,以作为构建后步骤在其他项目上触发/调用构建。
  • 在项目中添加forever npm模块
  • server-deploy 作业上,使用forever + dontKillMe标志在Jenkins作业完成后保持进程正常运行:

npm install && npm test

PS:使用BUILD_ID = dontKillme的说明是here