3

Chutzpah + jasmine を使用して AngularJS コードをテストしようとしています。

ここに私が参照するファイルがあります

jasmine.js バージョン:1.3.1

ジャスミン-html.js

angular.min.js バージョン:1.2.0RC1

angular-mocks.js

アラート.js

テンプレートで何もテストしなければ、実際に機能します。

テンプレートをロードするときに何か問題があるに違いないと考えました。

AngularJS UI Bootstrap からアラート ディレクティブを実行しようとしたときに行った方法を次に示します。

以下のようなテストでは、Karma runner のための方法なので使用しません。

beforeEach(module('template/alert/alert.html'));

この投稿とは別のアプローチを使用します

  beforeEach(inject(function ($templateCache) {
      var directiveTemplate = null;
      var req = new XMLHttpRequest();
      req.onload = function () {
          directiveTemplate = this.responseText;
      };
      req.open("get", "../../../template/alert/alert.html", false);
      req.send();
      $templateCache.put("template/alert/alert.html", directiveTemplate);
  }));

まだ多くの問題がありますが、テンプレートは読み込まれていると思います。

「閉じるコールバックが指定されていない場合は閉じるボタンを表示しないでください」のみが渡されました

ほとんどのエラーは

TypeError: 'undefined' は関数ではありません ('expect(alerts.eq(0)).toHaveClass('alert-success')' を評価しています) ....

アラートが作成されていないようです。

最初のエラーは

テスト「アラート: ng-repeat を使用してアラートを生成する必要があります」が失敗しました。0 が 3 に等しいと予想されます。

何か案が ?

4

1 に答える 1

3

最後に、私はそれを理解しました。

さらに 2 つのファイルを参照する必要があります。

jQuery とJasmine-jQuery

于 2013-08-23T20:29:17.180 に答える