を使用して非同期関数によって返された結果をテストしたいと考えていますnodeunit
。私は次のテストを持っています:
module.exports = {
createFail: function(assert) {
var user = new CRUDUser({ firstName: 'Node' });
assert.equal(undefined, user.id);
user.create(function(res) { // user.create() makes an async AJAX call and should call this function back
assert.equal(false, res.success);
assert.equal(undefined, user.id); // user not created cause 'lastName' can't be null
console.log('#####');
assert.done();
});
}
};
しかし、実行すると次のエラーが発生します。
FAILURES: Undone tests (or their setups/teardowns):
- createFail
To fix this, make sure all tests call test.done()
assert.done();
呼び出しをコールバック関数の外に移動すると、AJAX 呼び出しが行われる前にテストが終了します。
assert.expect(3);
また、コールバック関数が呼び出されるまで「待機」するようにテストの最初に追加しようとしましたassert.done();
が、上記と同じエラーが発生します。
いずれの場合も、期待される#####
ものは明らかにコンソールに出力されません。私は何を間違っていますか??