创建临时风帆模型
Create temp sails model
对于单元测试,我需要创建临时模型 object 而不将其保存在数据库中,只是为了有一些实例方法。
模型结构示例
//User.js - my model
module.exports = {
attributes: {
firstName : { type: 'string' },
lastName : { type: 'string' },
getName: function () {
return this.firstName + ':' + this.lastName;
}
}
};
我有下一个object
const testData = {
firstName: 'Foo',
lastName: 'Bar'
};
这一行在数据库中创建新记录
User.create(testData);
是否可以避免创建记录?我该怎么做?
为了回答您最初的问题,据我所知,当您调用 Model.create() 时关闭或打开 Sails 是否实际在您的数据库中创建记录的功能不存在,没有解决方法你有或者我已经在评论中描述了。
话虽如此,Sails 确实为测试和开发目的提供了一个简单的解决方案。
为了方便开发,Sails 提供了一个名为 sails-disk 的 built-in 数据库适配器。此适配器通过将数据库记录读取和写入计算机硬盘驱动器上的 JSON 文件来模拟真实数据库。
如果您使用的是 see documentation:
在config/connection.js
中添加到数据库的连接
localDiskDb: {
adapter: 'sails-disk'
},
在您正在测试的模型中,将模型指向 sails-disk 连接。
...
module.exports = {
connection: "localDiskDb",
attributes: {
...
如果您使用的 Sails 版本 >= v1 see documentation:
相反,在 config/datastores.js
中添加 sails-disk 作为数据存储
localDiskDb: {
adapter: 'sails-disk'
},
并且在您正在测试的模型中,如上所述,将模型指向 sails-disk 数据存储。
...
datastore: 'localDiskDb',
...
对于单元测试,我需要创建临时模型 object 而不将其保存在数据库中,只是为了有一些实例方法。
模型结构示例
//User.js - my model
module.exports = {
attributes: {
firstName : { type: 'string' },
lastName : { type: 'string' },
getName: function () {
return this.firstName + ':' + this.lastName;
}
}
};
我有下一个object
const testData = {
firstName: 'Foo',
lastName: 'Bar'
};
这一行在数据库中创建新记录
User.create(testData);
是否可以避免创建记录?我该怎么做?
为了回答您最初的问题,据我所知,当您调用 Model.create() 时关闭或打开 Sails 是否实际在您的数据库中创建记录的功能不存在,没有解决方法你有或者我已经在评论中描述了。
话虽如此,Sails 确实为测试和开发目的提供了一个简单的解决方案。
为了方便开发,Sails 提供了一个名为 sails-disk 的 built-in 数据库适配器。此适配器通过将数据库记录读取和写入计算机硬盘驱动器上的 JSON 文件来模拟真实数据库。
如果您使用的是
在config/connection.js
中添加到数据库的连接localDiskDb: {
adapter: 'sails-disk'
},
在您正在测试的模型中,将模型指向 sails-disk 连接。
...
module.exports = {
connection: "localDiskDb",
attributes: {
...
如果您使用的 Sails 版本 >= v1 see documentation:
相反,在 config/datastores.js
中添加 sails-disk 作为数据存储localDiskDb: {
adapter: 'sails-disk'
},
并且在您正在测试的模型中,如上所述,将模型指向 sails-disk 数据存储。
...
datastore: 'localDiskDb',
...