我想使用Mocha逐个功能地添加到我的程序中,逐个测试。
var assert = require('assert');
var mongoskin = require('mongoskin');
describe('basic database tests', function(){
before(function(){
});
it('should have 3 users', function(done){
var db = mongoskin.db('mongodb://localhost:27017/stuffTest', {safe:true});
db.collection('users').find().toArray(function (err,result){
console.log(result.length);
assert.equal(result.length,3);
});
});
});
没用 无论将测试放在哪里,都会出现错误。通过这种安排我得到错误:超过2000ms的超时
这是建立数据库的代码。我以前的开发方式是用console.logs之类的东西填充我的代码。此代码使用console.logs通知我集合是否为空,如果是,则填充3条记录。
var mongoskin = require('mongoskin')
var db = mongoskin.db('mongodb://localhost:27017/stuffTest', {safe:true})
db.collection('users').find().toArray(function (err,result){
console.log(result.length)
})
db.collection('users', {strict:true}, function(err, collection) {
if (err) {
console.log("The 'users' collection doesn't exist. Creating it with sample data...");
populateDB(users);
}
});
var populateDB = function(huh) {
console.log("Populating database...");
var name= huh.name;
var coll= huh.items;
db.collection(name, function(err, collection) {
collection.insert(coll, {safe:true}, function(err, result) {
console.log(result.length);
});
});
};
var users = [];
users.name = 'users';
users.items= [
{name: 'tim', email: '[email protected]', lists:[]},
{name: 'peri', email: '[email protected]', lists:[]},
{name: 'tim2', email: '[email protected]', lists:[]}
];
我将如何编写此测试?这段代码加上package.json和dropDb.js在这里:https : //github.com/mckennatim/tdd
你不打电话done
。如果您不调用done
异步测试,则可以保证超时。修改测试以done
在回调结束时调用。像这样:
it('should have 3 users', function(done){
var db = mongoskin.db('mongodb://localhost:27017/stuffTest', {safe:true});
db.collection('users').find().toArray(function (err,result){
console.log(result.length);
assert.equal(result.length,3);
done();
});
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句