unit-testing - 任何模块都有助于用 jest 测试 sequelize 模型
问题描述
我正在对 sequelize (5.x) 模型进行单元测试。以下是Group
模型示例:
class Group extends Model {};
Group.init({
name: {type: Sql.STRING,
validate: {
len:{
args:[1,50],
msg:"Name between 1 to 50 chars"
} ,
}
},
owner_id: {
type: Sql.INTEGER,
allowNull:false,
validate: {
isInt: true,
},
},
status: {type: Sql.STRING,
validate: {
isIn: [['active', 'inactive']],
},
},
group_data: {
type: Sql.JSONB
},
last_updated_by_id: {type: Sql.INTEGER},
},
createdAt: Sql.DATE,
updatedAt: Sql.DATE
}, {
sequelize:db,
modelName: 'group',
indexes: [
{
fields: ['name', 'owner_id']
}, {
fields: ['owner_id', 'status']
}, {
fields: ['owner_id']
}, {
fields: ['status']
}
]
});
这是我正在做的测试:
it("shall create a group", () => {
expect(async () => {await Group.create(payload)}).not.toThrow; //payload is defined before test
})
但是当测试调用与数据库的连接时,测试会导致数据库连接回调的错误。
有一个模块sequelize-test-helper可以很好地进行模型测试,但需要Mocha
框架。我广泛搜索了一个类似的笑话助手模块但无济于事。有没有我可以用来帮助单元测试续集模型的模块?或者我应该如何开玩笑地对续集模型进行单元测试?我发现很少有关于 jest with sequelize model 的信息。
解决方案
推荐阅读
- javascript - HTML CSS 逐一滚动文本
- c# - 如何在 IIS 中运行 .Net MVC(与使用 `dotnet run` 进行本地测试相比)
- cakephp - 在 CakePHP 中扩展 RedisEngine
- javascript - 为什么两个数字的乘积会产生一个不应该存在的小数(仅适用于特定数字)?
- java - Java如何读取从其他公共类方法传递给args [0]的变量
- python - 如何找到矩阵单元的邻居
- sql-server - 拆分字符串只返回第一个值
- c# - 非持久性字段
- python - 尽管设置了种子,但无法重现 H2O GBM 预测
- r - mutate_if() 与 OR 条件 dplyr