問題タブ [ng-html2js]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2027 参照

angularjs - templateUrl で angular ディレクティブをテストする

Karma+Jasmine で Angular ディレクティブをテストしようとしています。したがって、私のディレクティブにあるようtemplateUrlに、テンプレートをkarma-ng-html2js-preprocessorでキャッシュする必要があります。私のkarma.conf.jsファイル:

そして私のジャスミン仕様:

しかし、何らかの理由で私のtemplatesモジュールを注入できないようです: TypeError: undefined is not a function (evaluating '$compile(.... それらを正しく連携させるにはどうすればよいですか?

0 投票する
1 に答える
4027 参照

angularjs-directive - スクロールイベントでディレクティブをテストするには?

アプリで無限スクロールを可能にするディレクティブをテストしようとしています。ディレクティブは、私の製品コードで正常に機能します。

この質問は、スクロールを使用して AngularJS ディレクティブをテストする方法に非常に近いものであり、誰かが同じ質問であると言う場合は、この質問を削除します。ただし、それは私の問題を解決していません (少なくとも方法がわかりません)。

これが私のディレクティブです:

そして、ここに私のカルマテストがあります:

私のkarma.conf.js :

私の考えでは、$rootScope ブロードキャストをそのすべての子 (私の場合は $scope) に「スクロール」させ、$scope が私のディレクティブで私の要素に関連付けられている場合、それは私が提供したメソッド (doScrollFn) をトリガーします。 )、および $scope.isScrolled が変更されます。

しかし、私が知る限り、doScrollFn はトリガーされません。

0 投票する
2 に答える
2294 参照

angularjs - AngularJS カルマ テスト: 予期しない要求: GET.template.html

AngularJS アプリのカルマ テストを設定しようとしていますが、どういうわけか常に失敗しています。ここのすべての手順に従いましたが、ng-html2js プリプロセッサが正しく機能していないように感じます。私は常に次のメッセージを受け取ります:

エラー: 予期しない要求: GET js/templates/my-template.template.html

これが私のコード構造です

コード構造

そしてここに私のテスト構造

ここに画像の説明を入力

私がテストしようとしているディレクティブは次のとおりです。

私のカルマconfは次のようになります:

および mySpec.js は次のようになります。

0 投票する
1 に答える
252 参照

angularjs - ディレクティブを使用してフォーム テンプレートを単体テストすると、「エラー: [$injector:unpr] 不明なプロバイダー:」が返されます。

フォーム検証フォームの単体テストを作成しています。私のメイン フォーム テンプレート コントローラーでは、挿入されたサービスをモックしています。また、フォーム テンプレートには、同じサービスを挿入するディレクティブも含まれています。

html2js を使用して html テンプレートをロードしています。$compile でこのエラーがスローされます。

エラー: [$injector:unpr] 不明なプロバイダー: CommonServiceProvider <- CommonService

テストを設定する方法は次のとおりです。

}));

ディレクティブのコントローラーにモック サービスをロードするにはどうすればよいですか? それが問題の原因だと思います。誰かがテストのために同じケースに遭遇しましたか?

この問題は、ディレクティブ テンプレートをロードするときに CommonService が 2 回目にロードされることが原因のようです。それとも他に原因があるのでしょうか?

0 投票する
1 に答える
70 参照

angularjs - 角度付きで動作するように templateURL を取得するにはどうすればよいですか?

無数の重複した質問にリダイレクトされる前に。私がそれらをチェックして解決策を試したことをみんなに知ってもらいたいのですが、それは私にとってはうまくいきません。問題は私のパスにあると思いますが、プロジェクトのセットアップ方法では、何が問題なのかわかりません。だから私は私たちのプロジェクトをレイアウトし、うまくいけば誰かが私を助けることができます

コンポーネント プロセスを使用しており、プロジェクトは次のように構成されています。

カルマ.conf.js

config.js ファイルが長い。これは、すべてのファイルの場所のパスの中心となる場所です。ファイルのセクションを提供します。

私が得ているエラーはModule 'templates' is not available です。私が言ったように、私はあらゆる種類の解決策を試しましたが、問題を解決できないようです。必要に応じて、この質問をより詳細に更新します。

前もって感謝します。

スペックファイルを編集します。

some-component.component.js ファイル:

0 投票する
0 に答える
159 参照

angularjs - angular+TS+jasmine+ng-html2js = 'モジュール テンプレートのインスタンス化に失敗しました'. テンプレートをインスタンス化する方法は? フォームはどこにありますか?

別のファイルのテンプレートを使用して、angular の 1 ディレクティブを単体テストしようとしています。jasmine と ng-html2js を使用して、HTML テンプレートを $templateCache に隠します。SystemJS を使用しないプロジェクトでは、次を使用できます。

どこのテンプレート - 「carma.conf.js」にあります

そしてそれはうまく動作します。

しかし、SystemJS では、これらのモジュールに到達可能にするために、両方のモジュールをインスタンス化する必要があります。自分のモジュールをモックするのは簡単です。

しかし、この「テンプレート」モジュールのインスタンス化をどこに置くことができますか? 今、それは投げます

エラー: [$injector:modulerr] 次の理由により、モジュール テンプレートのインスタンス化に失敗しました: エラー: [$injector:nomod] モジュール 'テンプレート' が利用できません!

0 投票する
2 に答える
908 参照

angularjs - AngularJS テストでコンパイル ディレクティブが失敗する - カルマ ジャスミン

Jasmine Framework で Karma を使用して、AngularJS v1 アプリをテストしています。パーシャルをモジュールに変換する ng-html2js プラグインをセットアップしました。を使用してパーシャルにアクセスできます$templateCache

ディレクティブをコンパイルしようとすると、何も得られません。URL のテンプレートは、 を使用して指定されますtemplateUrl

私のプロジェクト構造はそのようなものです。

カルマ.conf.js

ディレクティブ-test.js

my-directive.js

assets/app/partials/directives/my_directive.html