2017-08-24 11 views
0

のsrc/user.jsのモカのテストが正常に私のデータベースに接続しているが、インスタンス

const mongoose = require('mongoose'); 
const Schema = mongoose.Schema; 

mongoose.Promise = global.Promise; 

const UserSchema = new Schema({ 
    name : String 
}); 

const User = mongoose.model('user', UserSchema); 

module.exports = User; 

テスト/ test_helper.js

// DO SOME INITIAL SETUP FOR TEST 

const mongoose = require('mongoose'); 

mongoose.connect('mongodb://localhost/test', { useMongoClient : true }); 

mongoose.Promise = global.Promise; 

mongoose.connection 
    .once('open',()=> console.log('Good to go')) 
    .on('error',(error)=> { 
     console.warn('Warning',error); 
    }); 

テスト/ create_test.js

を保存しません
const assert = require('assert'); 
const User = require('../src/user'); 
const mongoose = require('mongoose'); 

describe('Creating records',() => { 
    it('saves a user',() => { 
     const joe = new User({ name : 'Joe' }); 
     joe.save(); 
    }); 
}); 

インスタンスをcreate_test.jsに保存しようとしていますが、インスタンスをデータベースに保存していません。しかし、ファイルtest_helper.jsにインスタンスを保存すると、動作しています。助言がありますか?

答えて

0

テストが実行されているの後に、マングースが接続を開くためです。接続が開かれていることを保証するには、フックの前に使用する必要があります。

before(done => { 
    mongoose.connect('mongodb://localhost/test', { useMongoClient : true }); 
    mongoose.Promise = global.Promise; 

    mongoose.connection 
    .once('open',() => done()) 
    .on('error', err => console.err('Db connection error', err); 
    }); 
}); 
関連する問題