我的ExpressJS / NodeJS API有一个广泛的MochaJS测试套件。测试套件包括创建对象以及从数据库中删除这些相同的对象。
目前,我的所有回归测试都在我的开发环境中传递。我们希望能够在登台环境中运行相同的测试,该登台环境包含已迁移但未在部署新代码后创建的数据对象。
我们如何从服务器运行我们的mocha测试?
目前,我使用以下命令在本地运行我的测试:
foreman run node node_modules/mocha/bin/mocha
提前感谢您的帮助!
答案 0 :(得分:1)
您可以利用package.json 脚本:
https://docs.npmjs.com/misc/scripts
如果heroku使用简单的npm install
来安装你的软件包,你可以定义一个运行mocha的prepublish
脚本。它就像在package.json
中定义它一样简单:
"scripts": {
"prepublish": "mocha"
}
不要担心全局安装mocha
,npm install
会在安装过程中将node_modules/.bin
文件夹添加到PATH
环境变量中。
答案 1 :(得分:1)
我们的团队决定采用持续集成作为运行服务器端测试的机制。一石二鸟!
我们正在使用CircleCI来实现这一目标。
我们现在将超级库传递给app模块而不是URL。这允许通过supertest在HTTP层调用端点。
希望这可以帮助其他人寻找类似的选择!