MongoDB/Mongoose单元测试 - 最佳实践?

Ash*_*han 4 unit-testing mocha.js mongoose mongodb node.js

我正在编写一个npm包,通过mongoose将GIS数据导入MongoDB.我已经使用mocha编写单元测试来测试在保存mongoose模型之前发生的数据转换.

我想确保所有的mongoose数据都正确保存到数据库中(包括需要进行的任何更新).在这种情况下,最佳做法是什么?

我的直觉创建了一个测试集合,插入所有记录,确保它看起来像我期望的样子,并删除集合.

Jor*_*nda 11

是的,设置和拆除数据库中的所有集合对于确保单元测试之间没有副作用是必要的.实际上,这意味着beforeEach()您重新连接到数据库并删除所有集合的位置,以及afterEach()断开与数据库断开连接的位置.

一些更深入的信息:您在这里尝试做的是integration testing,在哪里测试代码和代码之间的实际集成mongo.Unit tests是从不调用数据库或其他资源的测试.有关此内容的更多信息:单元测试和集成测试之间有什么区别?对我来说,我将它们分成了tests/unittests/integration.

我不知道有任何软件包或库可以帮到你,但是请看一下本教程的一种方法.