【问题标题】:Integration testing with Sequelize使用 Sequelize 进行集成测试
【发布时间】:2015-06-14 20:35:09
【问题描述】:

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

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

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

这里有没有人用 sequelize 和 sqlite 进行集成测试,并找到了一种无需所有样板代码的好方法?

【问题讨论】:

    标签: node.js sqlite express sequelize.js


    【解决方案1】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2013-04-07
      • 2019-12-17
      • 2015-12-28
      • 2020-05-26
      • 2018-01-02
      • 2021-02-03
      • 2018-12-23
      • 2013-01-17
      • 2020-02-17
      相关资源
      最近更新 更多