首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >启动Node服务器并在CICD中运行测试

启动Node服务器并在CICD中运行测试
EN

Stack Overflow用户
提问于 2019-10-15 20:23:50
回答 1查看 412关注 0票数 0

我目前正在尝试将一些测试部署到Azure管道(但这应该适用于任何CICD框架)

我有一个express项目,我正在使用supertestmocha在本地运行测试,一切都很好。

现在,我希望部署到生产环境中,并且希望在部署发生之前在管道中运行测试。

问题是,由于这些测试是针对http运行的,因此它们需要一个运行的服务器。

所以,在我的管道中

npm install npm start npm test

但问题是,当服务器启动时,npm test并没有运行,而是在服务器运行时挂起。

有没有办法在服务器启动时启动测试?然后在测试结束时停止服务器?

或者,有没有更好的方法来实现这一切?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-15 21:10:36

如果你正在使用supertest,我建议你为测试导出express应用程序,而不是像他们的文档中显示的那样运行它,然后你只需要运行npm installnpm test

例如:

app.js

代码语言:javascript
复制
const express = require('express');
const app = express();

// Add middlewares

module.exports = app;

test.spec.js

代码语言:javascript
复制
const app = require('../app.js');

request(app)
  .get('/user')
  .set('Accept', 'application/json')
  .expect('Content-Type', /json/)
  .expect(200)
  ...
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58394620

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档