2016-10-25 2 views
0

Когда я назвал свою функцию в контроллере через почтальона, он работал отлично и я получил результаты, но когда я написал тестовый пример для той же функции, что говорит об ошибке, какSchema не было зарегистрировано для категории "категории". Использование mongoose.model (имя, схемы)

MissingSchemaError: Schema hasn't been registered for model "categories". 
Use mongoose.model(name, schema) 

Я был полностью смущен этим, потому что, как работает функция, которая работает хорошо, не так с тестовым случаем. Может ли кто-нибудь предложить помощь, пожалуйста. Мои test.js,

 var server = require('../modules/categories/model/categories.server.model'); 
var chai = require('chai'); 
var chaiHttp = require('chai-http'); 

var should = chai.should(); 
var mongoose = require('mongoose'); 
chai.use(chaiHttp); 

describe('Blobs', function() { 
    it('should list ALL blobs on /getcategories GET'); 
}); 

it('should list ALL categories on /getcategories', function(done) { 
    chai.request(server) 
    .get('getcategories') 
    .end(function(err, res){ 
     res.should.have.status(200); 
     done(); 
    }); 
}); 

Мои маршруты,

 */ 
var categories = require('../categories/controller/categories.server.controller'); 
var model = require('../categories/model/categories.server.model'); 
var passport = require('passport'); 
module.exports = function (app) { 
    // User Routes 

    app.use(function (req, res, next) { 
    // Setting up the users password api 
    app.route('/api/auth/insertcategory').post(categories.insertcategory); 
    app.route('/api/auth/getcategoriesbycreatedid/:id').get(categories.getcategoriesbycreatedid); 
    app.route('/api/auth/getcategories').get(categories.getcategories); 
}); 

Может кто-то пожалуйста предложить помощь.

ответ

0

This issue normally raise when you try to use your model in anywhere before interpreting it.

Попробуйте добавить свой models, прежде всего controllers and routes

Как это

var model = require('../categories/model/categories.server.model'); 
var categories = require('../categories/controller/categories.server.controller'); 
var passport = require('passport'); 

Надеется, что это поможет вам.

+0

Я получаю эту ошибку TypeError: app.address не является функцией – MMR

+0

, когда я запускаю свой тест – MMR

+0

Не могли бы вы исправить это – MMR