JavaScriptテストフレームワークが初めてです。私は少し最適化したいと思いますが、私はいくつかの問題にぶつかります。このプロジェクトは、ここshould.js非同期関数を使用したモカ/ Should.js
を使用している私の元のテストケースの簡易版である:
describe('Simple', function() {
describe('Test', function() {
it('should do something', function(done) {
somePromise.then(function(data) {
data.should.above(100);
done();
});
}
it('should do something else but alike', function(done) {
somePromise.then(function(data) {
data.should.above(100);
done();
});
}
}
});
私はこのようにそれをやろうとしている:約束が非同期である
var testFunc = function(data) {
it('should do something', function(done) {
data.should.above(100);
done();
});
}
describe('Simple', function() {
describe('Test', function() {
somePromise.then(function(data) {
testFunc(data);
});
somePromise.then(function(data) {
testFunc(data);
});
}
});
、および多分それが私の「最適化」がうまくいかなかった理由です。 docs内のdescribe
関数の "done"コールバックが見つかりませんでした。
ありがとうございます!どんな助けでも感謝します!
おかげで、それが動作します。しかし、異なるアサーションを使用して1つの約束をテストできますか? – iplus26
私の約束関数の中に 'it'関数をラップしようとしていたので、私の約束関数で非同期APIを一度しか要求できませんでしたが、別のテストをします – iplus26
もちろんあります。約束はこれを非常に簡単にします。あなたがしているのは、テストケース外の約束を作成し、それを変数に割り当てることです。いつものようにそれの中で約束を使用することができます。私は答えを例で更新しました。 –