関数を使用して webapi からデータを取得しています。基本的に使用し$.ajax
ます。
私は今、waits()
次のようにテストしています:
describe('xxxxxxxxxxxxxxxxxxxxx', function () {
var r;
it('fetchFilter', function () {
runs(function () {
model.fetch(opts)
.done(function(data) {
r = data;
});
});
waits(2000);
runs(function () {
expect(r[0].gender).toBeDefined();
});
});
});
問題は:
- うまく機能するという保証はありません
waits(2000)
。さまざまな理由 (ネットワーク接続、API 自体のアルゴリズム効率など) により、1waits(5000)
つ以上の必要がある場合や、モデルwaits(500)
によってはそれで十分な場合があります。そして最も厄介なことは、それがすべて制御不能であることです。 - test-specs-runs の多く
waits()
は、待機に多くの時間を無駄にします。スイート全体を実行する時間は、受け入れるには長すぎます。
そのようなことをしていることはありbest practice
ますか?
PS: webapi またはデータベースに依存する一部の機能に単体テストを適用すべきではないことはわかっています。しかし、私は single-page-js-heavy-webapp を使用しています。データ フェッチ プロセスは、js モデルでそれらをどのように使用するかと同じくらい重要です。