我怎样才能编写一个需要操作mySQL数据库的testing模块?
我正在写一个nodejs npm模块,需要一个mySQL数据库来操作。
我想写一个连接到“假”数据库的testing模块,并对其进行一些操作。
我已经在我的开发机器中本地安装了我的testing数据库,但是我希望这个testing可以在任何机器上运行。
编写依赖于操作mySQL数据库的集成testing模块的最佳做法是什么?
是否存在networking中的任何公共服务,我可以得到一个临时的MySQL用户/密码,我可以在有限的时间/大小做一些操作?
通常你会build立一个持续集成(CI)系统,每当你改变你的版本控制系统就执行你的testing。 CI系统将提供一个干净的MySQL数据库,您的testing将运行。 如果您在云中使用CI系统,则通常可以将其configuration为提供数据库。 例如见Travis CI 。
如果你build立了一个CI系统,其他开发者如果想要执行testing,仍然需要在他们的计算机上运行他们自己的MySQL数据库。 或者,您可以在testing中使用模拟代替真实数据库。 有关详细信息,请参阅: 如何在Node.js中模拟MySQL(没有ORM)
然而,使用模拟不会给你足够的testing结果,因为模拟只是简单地模拟数据库。 有时候模拟可能太简单,或者只是越野车。 所以你至less需要对真实数据库运行一些testing。 因此,您可以select使用CI系统对真实数据库运行testing,并在开发过程中针对模拟运行testing。
不完全理解这个问题,我build议Amazon RDS进行短期testing,需要通过公共互联网访问某些内容。 如果用于任何实际stream量,amazon web services可以得到高昂的价格,但对于任何概念certificate来说,这仍然是一个很好的select
- 如何使用debugging器运行javascripttesting; 声明?
- 您如何在Node.js中为您的服务器应用程序构buildtesting?
- 如何让node.js和Mocha在浏览器中运行(testing)?
- 用Sinon嘲笑require()函数
- 基准express.jslogin会话
- Node.JS +茉莉花+量angular器
- 如何在nodejs上用mochaunit testing控制台输出
- Node.js:我应该使用Vows还是Expresso或者NodeUnit或者Zombie.js或者All?
- Jesttesting简单的香草JavaScript – 不能读取null的属性'addEventListener'