次のテストはこれを行うための最良の方法ですか、またはこれを改善できますか (そして Step の依存関係を削除します)?
私は特に、各「ステップ」関数が前の実行のテストを次の実行の呼び出しと混同していることを懸念しています。(つまり、壊れやすいカットアンドペースト)
(参照:非同期 Mocha テスト (NodeJS) を順番に実行するにはどうすればよいですか? )
it('should run an update', function(done) {
var db = new database.Database();
var sess = new session.Session(db);
Step(
function createTable() {
sess.exec('create table customers (id integer primary key auto_increment, name varchar, age integer)', this);
},
function insertCustomer1(err, message) {
assert(!err, err);
assert.equal("Table created.", message);
sess.exec('insert into customers (name, age) values ("james", 41)', this);
},
function insertCustomer2(err, message) {
assert(!err, err);
assert.equal("1 row inserted.", message);
sess.exec('insert into customers (name, age) values ("thomas", 19)', this);
},
function updateCustomer1(err, message) {
assert(!err, err);
assert.equal("1 row inserted.", message);
sess.exec('update customers set age = 42 where name = "james"', this);
},
function end(err, message) {
assert(!err, err);
assert.equal("1 row updated.", message);
done();
}
);
});