【发布时间】:2013-04-14 19:45:33
【问题描述】:
我正在尝试让 mocha 的 --watch 选项起作用。它工作正常,直到我不得不对猫鼬模型做任何事情。显然 Mongoose 保留了某种缓存,据我了解,我得到的错误是tracked and closed。问题是,我对这整件事有点陌生,需要一些指导,如何以及在哪里放置我需要的东西才能让它发挥作用。所以,我已经尝试过:
-
creating a wrapper around
mongoose.model。有效,但显然违背了--watch的目的。 - 在我的 Mongoose 套件的“之后”块中断开与 Mongo(使用
mongoose.disconnect)的连接。 - 放弃
--watch并每次都运行新的测试。
在这三个中,显然是在第三个作品中,我真的很想使用我的构建工具的所有功能。所以,这就是我所拥有的。我哪里错了?
models/user.js
var mongoose = require('mongoose'),
register = require('./_register');
var userSchema = mongoose.Schema({
email: String,
password: String
});
userSchema.methods.setPassword = function(password) {
this.password = password;
};
module.exports = mongoose.model('User', userSchema);
测试/models.user.js
var User = require('../models/user');
describe('User', function() {
describe('#setPassword()', function() {
it('should set the password', function() {
var user = new User();
user.setPassword('test');
user.password.should.not.equal('');
});
it('should not be in plaintext');
});
describe('#verifyPassword()', function() {
it('should return true for a valid password');
it('should return false for an invalid password');
});
});
【问题讨论】: