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/unit
和tests/integration
。
我不知道有任何软件包或库为你做这个,但看看这个教程的一个方法来解决这个问题。