【发布时间】:2016-11-09 02:23:41
【问题描述】:
我是 Mocha.js 的新手,但我做了一些测试用例,我想在我的服务器自动启动之前运行这些测试。
例如: npm 开始 然后所有 Mocha 的测试运行,如果通过,则服务器启动,否则服务器停止。
我正在使用 Jenkins 进行自动部署
【问题讨论】:
标签: node.js express jenkins mocha.js
我是 Mocha.js 的新手,但我做了一些测试用例,我想在我的服务器自动启动之前运行这些测试。
例如: npm 开始 然后所有 Mocha 的测试运行,如果通过,则服务器启动,否则服务器停止。
我正在使用 Jenkins 进行自动部署
【问题讨论】:
标签: node.js express jenkins mocha.js
你在测试你的服务器吗?
如果是这样,您应该使用 before 和 after 函数来处理服务器生命周期,如下所示:
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();
});
});
将你的 mocha 执行放在 npm 的 package.json 的测试任务中,例如:
"scripts": {
"test": "node ./node_modules/.bin/mocha --globals '*'"
}
然后您可以在 Execute shell 构建步骤下的 server-test 作业中运行 npm install && npm test。
那么,如果您想部署经过测试的版本,您应该:
BUILD_ID=dontKillMe forever start myserver.js
PS:使用BUILD_ID=dontKillme的解释是here。
【讨论】: