在Heroku NodeJS服务器上运行MochaJS测试

时间:2015-03-07 12:58:57

标签: node.js heroku express mocha foreman

我的ExpressJS / NodeJS API有一个广泛的MochaJS测试套件。测试套件包括创建对象以及从数据库中删除这些相同的对象。

目前,我的所有回归测试都在我的开发环境中传递。我们希望能够在登台环境中运行相同的测试,该登台环境包含已迁移但未在部署新代码后创建的数据对象。

我们如何从服务器运行我们的mocha测试?

目前,我使用以下命令在本地运行我的测试:

foreman run node node_modules/mocha/bin/mocha

提前感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

您可以利用package.json 脚本

https://docs.npmjs.com/misc/scripts

如果heroku使用简单的npm install来安装你的软件包,你可以定义一个运行mocha的prepublish脚本。它就像在package.json中定义它一样简单:

"scripts": {
  "prepublish": "mocha"
}

不要担心全局安装mochanpm install会在安装过程中将node_modules/.bin文件夹添加到PATH环境变量中。

答案 1 :(得分:1)

我们的团队决定采用持续集成作为运行服务器端测试的机制。一石二鸟!

我们正在使用CircleCI来实现这一目标。

我们现在将超级库传递给app模块而不是URL。这允许通过supertest在HTTP层调用端点。

希望这可以帮助其他人寻找类似的选择!