why is my nodeunit test of mongodb not finishing?

I am writing nodeunit tests for operations around a mongodb. When I execute my test with nodeunit (nodeunit testname.js), the test runs through and goes green but the nodeunit command line doesn't return (I need to hit ctrl-c).

What am I doing wrong? Do I need to close my db connection or the server or is my test wrong?

Here is a cutdown sample test.

process.env.NODE_ENV = 'test';
var testCase = require('/usr/local/share/npm/lib/node_modules/nodeunit').testCase; 
exports.groupOne = testCase({
    tearDown: function groupOneTearDown(cb) {       
    var mongo = require('mongodb'), DBServer = mongo.Server, Db = mongo.Db;
    var dbServer = new DBServer('localhost', 27017, {auto_reconnect: true});
    var db = new Db('myDB', dbServer, {safe:false});

    db.collection('myCollection', function(err, collectionitems) {
            collectionitems.remove({Id:'test'});    //cleanup any test objects
        }); 

    cb();
},
aTest: function(Assert){
    Assert.strictEqual(true,true,'all is well');
    Assert.done();
}
});

Michael

Try putting your cb() within the remove() callback after you close you connection:

var db = new Db('myDB', dbServer, {safe:false});

db.collection('myCollection', function(err, collectionitems) {
    collectionitems.remove({Id:'test'}, function(err, num) {
        db.close();
        cb();
    });
}); 

You need to invoke cb function after the closure of db (during the tearDown):

tearDown: function(cb) {

    // ...
    // connection code
    // ...

    db.collection('myCollection', function(err, collectionitems) {
        // upon cleanup of all test objects
        db.close(cb);
    });
}

This works for me.