Impossible de tester mon modèle dans sailsjs

Pour mon application voiles, j’utilise le code suivant pour tester le modèle d’utilisateur mais j’ai reçu le message d’erreur:

‘TypeError: Object # n’a pas de méthode’ 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: "[email protected]", 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); }); }); }); 

Comme il me semble que les voiles sont correctement levées, quel est le problème qui empêche la méthode create d’être disponible?

Supprimer la première ligne:

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

Une fois l’application Sails levée, vos modèles seront automatiquement disponibles, voir ici , par exemple.

Et dans votre cas, votre première ligne remplace le modèle User qui serait autrement construit par Sails.js. C’est pourquoi, même si vous avez un object, il ne s’agit pas d’un modèle Waterline.