解决方法
以前的功能与清理数据库一样好.如果您只需要清除数据库一次,即在运行所有测试之前,您可以在单独的文件中具有全局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