微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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模块.它对于删除功能非常有用.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐