使用 Sequelize 进行集成测试
Integration testing with Sequelize
我有一个使用 sequelize 的 Express web api,我想用它进行端到端测试。我希望能够使用内存数据库进行端到端测试,这样我就可以 运行 在任何让我满意的机器上进行测试。
我使用 mysql 数据库进行开发和生产,但是我正在考虑使用内存中的 sqlite 数据库进行测试,但我不确定将测试数据导入其中的最佳方法是什么。
周围有几个模块,例如 squelize-fixtures,但其中 none 似乎能够用数据填充数据库,而无需围绕它编写代码来操作和插入它。
这里有人使用 sequelize 和 sqlite 进行集成测试,并且找到了一种无需所有样板代码的好方法吗?
如果您以这种方式进行测试,它实际上不会是端到端测试,因为您使用的是不同的数据库。
但是,将您的 Sequelize 方言更改为 sqlite 然后使用 sequelize-fixtures 获取数据文件有什么问题?如果你觉得这太繁琐了,你可以通过它一次,然后保存 sqlite db 文件以供将来使用。然后,您将使用
实例化您的 Sequelize 对象
storage: 'path/to/database.sqlite'
无论您做什么或选择什么存储,您都必须做一些工作来为您的数据库播种。
我有一个使用 sequelize 的 Express web api,我想用它进行端到端测试。我希望能够使用内存数据库进行端到端测试,这样我就可以 运行 在任何让我满意的机器上进行测试。
我使用 mysql 数据库进行开发和生产,但是我正在考虑使用内存中的 sqlite 数据库进行测试,但我不确定将测试数据导入其中的最佳方法是什么。
周围有几个模块,例如 squelize-fixtures,但其中 none 似乎能够用数据填充数据库,而无需围绕它编写代码来操作和插入它。
这里有人使用 sequelize 和 sqlite 进行集成测试,并且找到了一种无需所有样板代码的好方法吗?
如果您以这种方式进行测试,它实际上不会是端到端测试,因为您使用的是不同的数据库。
但是,将您的 Sequelize 方言更改为 sqlite 然后使用 sequelize-fixtures 获取数据文件有什么问题?如果你觉得这太繁琐了,你可以通过它一次,然后保存 sqlite db 文件以供将来使用。然后,您将使用
实例化您的 Sequelize 对象storage: 'path/to/database.sqlite'
无论您做什么或选择什么存储,您都必须做一些工作来为您的数据库播种。