問題タブ [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.
angularjs - templateUrl で angular ディレクティブをテストする
Karma+Jasmine で Angular ディレクティブをテストしようとしています。したがって、私のディレクティブにあるようtemplateUrl
に、テンプレートをkarma-ng-html2js-preprocessorでキャッシュする必要があります。私のkarma.conf.jsファイル:
そして私のジャスミン仕様:
しかし、何らかの理由で私のtemplates
モジュールを注入できないようです: TypeError: undefined is not a function (evaluating '$compile(...
. それらを正しく連携させるにはどうすればよいですか?
angularjs-directive - スクロールイベントでディレクティブをテストするには?
アプリで無限スクロールを可能にするディレクティブをテストしようとしています。ディレクティブは、私の製品コードで正常に機能します。
この質問は、スクロールを使用して AngularJS ディレクティブをテストする方法に非常に近いものであり、誰かが同じ質問であると言う場合は、この質問を削除します。ただし、それは私の問題を解決していません (少なくとも方法がわかりません)。
これが私のディレクティブです:
そして、ここに私のカルマテストがあります:
私のkarma.conf.js :
私の考えでは、$rootScope ブロードキャストをそのすべての子 (私の場合は $scope) に「スクロール」させ、$scope が私のディレクティブで私の要素に関連付けられている場合、それは私が提供したメソッド (doScrollFn) をトリガーします。 )、および $scope.isScrolled が変更されます。
しかし、私が知る限り、doScrollFn はトリガーされません。
angularjs - AngularJS カルマ テスト: 予期しない要求: GET.template.html
AngularJS アプリのカルマ テストを設定しようとしていますが、どういうわけか常に失敗しています。ここのすべての手順に従いましたが、ng-html2js プリプロセッサが正しく機能していないように感じます。私は常に次のメッセージを受け取ります:
エラー: 予期しない要求: GET js/templates/my-template.template.html
これが私のコード構造です
そしてここに私のテスト構造
私がテストしようとしているディレクティブは次のとおりです。
私のカルマconfは次のようになります:
および mySpec.js は次のようになります。
angularjs - ディレクティブを使用してフォーム テンプレートを単体テストすると、「エラー: [$injector:unpr] 不明なプロバイダー:」が返されます。
フォーム検証フォームの単体テストを作成しています。私のメイン フォーム テンプレート コントローラーでは、挿入されたサービスをモックしています。また、フォーム テンプレートには、同じサービスを挿入するディレクティブも含まれています。
html2js を使用して html テンプレートをロードしています。$compile でこのエラーがスローされます。
エラー: [$injector:unpr] 不明なプロバイダー: CommonServiceProvider <- CommonService
テストを設定する方法は次のとおりです。
}));
ディレクティブのコントローラーにモック サービスをロードするにはどうすればよいですか? それが問題の原因だと思います。誰かがテストのために同じケースに遭遇しましたか?
この問題は、ディレクティブ テンプレートをロードするときに CommonService が 2 回目にロードされることが原因のようです。それとも他に原因があるのでしょうか?
angularjs - 角度付きで動作するように templateURL を取得するにはどうすればよいですか?
無数の重複した質問にリダイレクトされる前に。私がそれらをチェックして解決策を試したことをみんなに知ってもらいたいのですが、それは私にとってはうまくいきません。問題は私のパスにあると思いますが、プロジェクトのセットアップ方法では、何が問題なのかわかりません。だから私は私たちのプロジェクトをレイアウトし、うまくいけば誰かが私を助けることができます
コンポーネント プロセスを使用しており、プロジェクトは次のように構成されています。
カルマ.conf.js
config.js ファイルが長い。これは、すべてのファイルの場所のパスの中心となる場所です。ファイルのセクションを提供します。
私が得ているエラーはModule 'templates' is not available です。私が言ったように、私はあらゆる種類の解決策を試しましたが、問題を解決できないようです。必要に応じて、この質問をより詳細に更新します。
前もって感謝します。
スペックファイルを編集します。
some-component.component.js ファイル:
angularjs - angular+TS+jasmine+ng-html2js = 'モジュール テンプレートのインスタンス化に失敗しました'. テンプレートをインスタンス化する方法は? フォームはどこにありますか?
別のファイルのテンプレートを使用して、angular の 1 ディレクティブを単体テストしようとしています。jasmine と ng-html2js を使用して、HTML テンプレートを $templateCache に隠します。SystemJS を使用しないプロジェクトでは、次を使用できます。
どこのテンプレート - 「carma.conf.js」にあります
そしてそれはうまく動作します。
しかし、SystemJS では、これらのモジュールに到達可能にするために、両方のモジュールをインスタンス化する必要があります。自分のモジュールをモックするのは簡単です。
しかし、この「テンプレート」モジュールのインスタンス化をどこに置くことができますか? 今、それは投げます
エラー: [$injector:modulerr] 次の理由により、モジュール テンプレートのインスタンス化に失敗しました: エラー: [$injector:nomod] モジュール 'テンプレート' が利用できません!
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