node.js – 在运行测试之前清除测试数据库

在运行测试套件之前清理数据库的最佳方法是什么(有一个npm库或推荐的方法).

我知道了before()函数.

我正在使用node / express,mocha和续集.

解决方法

以前的功能清理数据库一样好.如果您只需要清除数据库一次,即在运行所有测试之前,您可以在单独的文件中具有全局before功能

globalBefore.js

before(function(done) {
   // remove database data here
   done()
})

单测试1.js

require('./globalBefore)
// actual test 1 here

单测试2.js

require('./globalBefore)
// actual test 2 here

请注意,globalBefore只会运行一次即使需要两次

测试原理

尝试限制在测试中使用外部依赖项,如数据库.外部依赖性越小测试越容易.您希望能够并行运行所有的单元测试,而诸如数据库之类的共享资源使得这很难.

看看这个Google Tech谈论写可测试的JavaScript
http://www.youtube.com/watch?v=JjqKQ8ezwKQ

还要看看rewire模块.它对于删除功能非常有用.

相关文章

这篇文章主要介绍“基于nodejs的ssh2怎么实现自动化部署”的...
本文小编为大家详细介绍“nodejs怎么实现目录不存在自动创建...
这篇“如何把nodejs数据传到前端”文章的知识点大部分人都不...
本文小编为大家详细介绍“nodejs如何实现定时删除文件”,内...
这篇文章主要讲解了“nodejs安装模块卡住不动怎么解决”,文...
今天小编给大家分享一下如何检测nodejs有没有安装成功的相关...