我从Mocha那里得到了这个错误:
Uncaught AssertionError: expected 'long-title-abcdefghijklmnopqrs' to equal 'long-title-abcdefghijklmnopqrs'
这没有任何意义,因为这些字符串看起来是相同的。这是测试代码:
it('shortens and joins title to 30 characters and with -', function(done){
article.createMdArticle('long title abcdefghijklmnopqrstubwxyz', 'the bod', function(err, doc){
if(err) throw err;
doc.url_title.should.eql('long-title-abcdefghijklmnopqrs');
done();
})
})
和这个mongoose pre('save')挂钩从标题创建url_title
articleSchema.pre('save', function (next) {
//makes 'test title' into 'test-title'
this.url_title = this.title.split(' ').join('-').substring(0,30);
console.log(this.url_title);
next();
});
我比较任何其他对象数据的所有其他测试都按预期工作
答案 0 :(得分:0)
想出来......在我的文章Schema mongoose schema ...
var articleSchema = new Schema({
title : { type: String, index: { unique: true, required: true }},
body: { type: String, required: true },
url_title: { sype: String},
});
在url_title
行,它显示sype: String
而不是type: String
。当我纠正这个错误时,错误就不复存在了。