gpt4 book ai didi

node.js - 无法在 sailsjs 中对我的模型进行单元测试

转载 作者:搜寻专家 更新时间:2023-10-31 22:27:26 24 4
gpt4 key购买 nike

对于我的 sails 应用程序,我使用以下代码对用户模型进行单元测试但收到错误消息:

'TypeError: Object # has no method 'create''

var User = require('../../api/models/User');
var Sails = require('sails');

console.log(User);

describe("User Model:", function() {

// create a variable to hold the instantiated sails server
var app;

// Global before hook
before(function(done) {

// Lift Sails and start the server
Sails.lift({

log: {
level: 'error'
},

}, function(err, sails) {
app = sails;
done(err, sails);
});
});

// Global after hook
after(function(done) {
app.lower(done);
});

describe("Password encryption", function() {

describe("for a new user", function() {
var user;
before(function (cb) {
var userData = {
email: "testuser@sails.com",
password: "test_password",
passwordConfirmation: "test_password"
};

User.create(userData, function (err, newUser) {
if (err) return cb(err);
user = newUser;
cb();
});
});

it("must encrypt the password", function() {
user.must.have.property('encryptedPassword');
user.must.not.have.property('password');
user.must.not.have.property('passwordConfirmation');
});

after(function (cb){
user.destroy(function (err) {
cb(err);
});
});
});

在我看来, sails 已正确升起,导致 create 方法不可用的问题是什么?

最佳答案

删除第一行:

var User = require('../../api/models/User');

解除 Sails 应用程序后,您的模型将自动可用,请参阅 here ,例如。

在您的情况下,您的第一行覆盖了 User 模型,该模型将由 Sails.js 以其他方式构建,这就是为什么即使您有一个对象它也不是 Waterline 模型。

关于node.js - 无法在 sailsjs 中对我的模型进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21048543/

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