我正在编写一个npm包,通过mongoose将GIS数据导入MongoDB.我已经使用mocha编写单元测试来测试在保存mongoose模型之前发生的数据转换.
解决方法
是的,设置和拆除数据库中的所有集合对于确保单元测试之间没有副作用是必要的.实际上,这意味着在您重新连接到数据库并删除所有集合的beforeEach(),以及断开与数据库断开连接的afterEach().
一些更深入的信息:您在这里尝试的是集成测试,您正在测试代码和mongo之间的实际集成.单元测试是从不调用数据库或其他资源的测试.关于这里的更多信息:What’s the difference between unit tests and integration tests?对我来说,我将它们分成测试/单元和测试/集成.
我不知道有任何软件包或库为你做这件事,但请看一下this tutorial的方法来解决这个问题.