使用Sequelize进行集成testing

我有一个Express web api使用sequelize,我想做端到端的testing。 我希望能够在内存数据库中进行端到端的testing,所以我可以在任何需要我的机器上运行它。

我使用mysql数据库进行开发和生产,但是我正在考虑使用内存中的sqlite数据库进行testing,但我不知道什么是最好的方法是将testing数据放入它。

像squelize-fixtures有几个模块,但他们似乎都不能用数据填充数据库,而不需要编写代码来操作和插入数据。

任何人在这里做集成testingsequelize和sqlite已经find了一个好方法没有所有的样板代码?

       

网上收集的解决方案 "使用Sequelize进行集成testing"

如果您以这种方式进行testing,则由于您使用的是不同的数据库,因此实际上不会进行端到端testing。

但是,将Sequelize方言改为sqlite然后使用sequelize-fixtures来获取数据文件有什么问题? 如果你觉得这太繁重了,你可以通过一次的方式来阻止你,然后保存sqlite数据库文件,以备将来使用。 然后你将使用实例化你的Sequelize对象

storage: 'path/to/database.sqlite' 

不pipe你做什么或者select什么样的存储,你都必须做一些工作才能使你的数据库成为种子。