使用Sequelize进行集成测试

时间:2015-04-09 12:57:44

标签: node.js sqlite express sequelize.js

我使用sequelize获得了一个Express web api,我想用端到端测试。我希望能够在内存数据库中进行端到端测试,这样我就可以在任何机器上运行它了。

我使用mysql数据库进行开发和生产,但我正在考虑使用内存中的sqlite数据库进行测试,但我不确定将测试数据输入其中的最佳方法是什么。

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

这里的任何人都在使用sequelize和sqlite进行集成测试,并且在没有所有样板代码的情况下找到了一个很好的方法吗?

1 个答案:

答案 0 :(得分:3)

如果您以这种方式进行测试,那么它实际上不会是端到端测试,因为您使用的是其他数据库。

但是,将Sequelize方言更改为sqlite然后使用sequelize-fixtures来提取数据文件有什么问题?如果你觉得这太麻烦了,你可以一次性地通过它,然后只需保存sqlite db文件以备将来使用。然后,您将使用

实例化Sequelize对象
storage: 'path/to/database.sqlite'

无论您做什么或选择什么存储,您都必须做一些工作来为您的数据库设定种子。