Jeg var nødt til at pakke databaseforbindelsen ind i en udføre kommando for at få dette til at virke. Jeg er ikke sikker på, om dette er den bedste måde at håndtere tilbagekaldet på, men det virker. Her er den opdaterede version af den brugerdefinerede kommando:
exports.command = function(sql,callback) {
var self = this;
var pg = require('pg');
var cs = self.globals.testinfo.connectionString;
self.perform(function(self,done) {
pg.connect(cs,function(err,db,done) {
if(err) {
return console.error(err);
}
db.query(sql, function(err,result) {
done();
if(err) {
return console.error(err);
}
console.log(result.rows.length);
callback(result.rows[0]);
});
});
pg.end();
done();
});
};
Sådan kalder jeg den brugerdefinerede kommando i testen:
browser.myCustomCommand('select * from table limit 1;', function(row) {
browser.assert.deepEqual(row.column,'some value');
});