我已经尝试在伊斯坦布尔为我的应用程序进行掩护测试。一切似乎都工作正常,但有些方法被标记为未涵盖,我确信(因为日志)这些功能已涵盖。这是我要测试的代码(使用 Mongoose):
var mongoose = require('mongoose'),
Schema = mongoose.Schema;
function BaseSchema(objectName, schema) {
// !!! Marke as not covered
log.trace('BaseSchema CTOR : objectName=%s schema=%s', objectName, schema);
Schema.apply(this, [schema]);
...
this.statics.removeAll = function (cb) {
// !!! marked as not covered
log.debug('Calling %s.removeAll', this._objectName);
this.remove({}, cb);
};
...
util.inherits(BaseSchema, Schema);
和我的测试课:
describe('Advanced CRUD Account :', function () {
it('Should remove all', function (done) {
account = new Account({
email: 'testu@test.com',
pseudo: 'Testu'
});
Account.removeAll(function () {
done();
});
});
我看到了日志,所以我确定该方法被很好地调用。
我使用以下命令运行封面测试:
istanbul cover node_modules/mocha/bin/_mocha -- -r server.js -R spec test/mocha/**/*.js packages/**/mocha/**/*.js
任何线索将不胜感激。
JM。