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