MongoDB / Mongooseunit testing – 最佳实践?

我正在编写一个npm包,通过mongoose把GIS数据导入到MongoDB中。 我已经使用mocha编写了unit testing来testing保存mongoose模型之前发生的数据转换。

我想确保所有的mongoose数据都正确保存到数据库(包括需要发生的任何更新)。 在这种情况下最好的做法是什么?

我的直觉创build一个testing集合,插入所有logging,确保它看起来像我期望的样子,然后删除集合。

是的,build立和拆除数据库中的所有集合对于确保unit testing之间没有副作用是必要的。 在实践中,这意味着你重新连接数据库并删除所有集合的afterEach() ,以及与数据库断开连接的afterEach()

一些更深入的信息:你在这里要做的是integration testing ,在这里你正在testing你的代码和mongo之间的实际集成。 Unit tests是从不调用数据库或其他资源的testing。 有关此处的更多信息: unit testing和集成testing有什么区别? 对我来说,我把它们分成tests/unittests/integration

我不知道有任何软件包或库为你做这个,但看看这个教程的一个方法来解决这个问题。