最近、私は最初の本格的なBackboneアプリのテストをいくつか実行しようとしています。これまでのところ通常のテストでは問題はありませんでしたが、非同期テストを設定しようとして立ち往生しています。
基本的に、無効な属性を持つモデルを保存しようとすると、サーバーAPIは500 HTTPコードエラーのページを返します。これにより、バックボーンで正しい「エラー」状態がトリガーされるかどうかを確認したいと思います。
私はこのようにテストを設定しようとしました:
asyncTest("Test save Model function", function(){
expect(1);
var user = new User({});
var err_spy = this.spy();
user.on('error',err_spy);
user.save(user,{error:function(){
start();
equal( err_spy.callCount, 1, "Callback 'error' called once");
}});
});
問題は、save関数のエラーコールバックがモデル内のエラーコールバックをオーバーライドすることです。したがって、それをトリガーする唯一の方法は、手動で行うことです。
user.trigger("error");
私の本番環境ではモデルの保存関数のエラーコールバックがないため、テストするのは正しい方法ではないと思いますが、一方で、テストを評価するためにajax応答を待つようにQunitに指示する方法がわかりませんアサーション。
誰かが私にそれを機能させる方法を提案できますか?ありがとうございました!