gpt4 book ai didi

sequelize.js - 我们可以在没有数据库连接的情况下对 sequelize 模型进行单元测试吗?

转载 作者:行者123 更新时间:2023-12-03 22:20:03 34 4
gpt4 key购买 nike

const Sequelize = require('sequelize');
var player = sequelize.define('player', {
title: {
type: Sequelize.STRING
},
mess: {
type: Sequelize.STRING
},
content: {
type: Sequelize.STRING
}
}, {
freezeTableName: true
});

这里它给我错误,模型未定义。但模型已经定义。

最佳答案

如果您想模拟 sequelize 模型进行单元测试,最好的方法是使用 sequelize-mock .写答案时的版本是0.10.2

这是一个如何使用它的示例 from their documentation :

// Import the mock library

var SequelizeMock = require('sequelize-mock');

// Setup the mock database connection
var DBConnectionMock = new SequelizeMock();

// Define our Model
var UserMock = DBConnectionMock.define('users', {
'email': 'email@example.com',
'username': 'blink',
'picture': 'user-picture.jpg',
}, {
instanceMethods: {
myTestFunc: function () {
return 'Test User';
},
},
});

// You can also associate mock models as well
var GroupMock = DBConnectionMock.define('groups', {
'name': 'My Awesome Group',
});

UserMock.belongsTo(GroupMock);

// From there we can start using it like a normal model
UserMock.findOne({
where: {
username: 'my-user',
},
}).then(function (user) {
// `user` is a Sequelize Model-like object
user.get('id'); // Auto-Incrementing ID available on all Models
user.get('email'); // 'email@example.com'; Pulled from default values
user.get('username'); // 'my-user'; Pulled from the `where` in the query

user.myTestFunc(); // Will return 'Test User' as defined above

user.getGroup(); // Will return a `GroupMock` object
});

关于sequelize.js - 我们可以在没有数据库连接的情况下对 sequelize 模型进行单元测试吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50226339/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com