私が持っているディレクティブ:角度ディレクティブのtemplateUrlが指すHTMLをテストするにはどうすればよいですか?
アプリ/コントローラ/ battle.js
angular.module('myModule')
.controller('myController',
['$scope',
function($scope){
$scope.sayHello = function(){console.log('hello');};
}])
.directive('myDirective', function(){
return {
templateUrl: '../views/testView.html'
}
});
次のようにディレクティブが呼び出されること:
アプリ/ビュー/ routeOne.html
を<my-directive ng-controller='myController'></my-directive>
ディレクティブtemplateUrlがファイルを指しています
アプリ/ビュー/ testView.html
<div id='testView'>Hello</div>
<div id='eggs'>Here are some eggs.</div>
testView.html内のdiv idが存在することを確認するために、カルマ/ジャスミンとIユニット・テストを行う方法:それはのように見えますか?
方法が試み:
this stackoverflow answerごとにngHtml2Jsを使用します。原因が不明:作成したモジュールにアクセスする方法が不明確で、新しく作成されたモジュールがtestView.htmlファイルのDOM要素へのアクセス/クエリにどのように役立つか、testView.htmlを指す必要がある4つの場所のそれぞれでどのパスを使用するのかが不明です。 (1)と同様:失敗this blogpost.理由の通りHtml2Jsを使用
。
this articleとしてjquery.ajaxでテンプレートにアクセスする。理由は失敗しました:角度のあるルータは、私がカールやブラウザを介して直接アクセスできるにもかかわらず、ファイルに直接問い合わせることができませんでした。多くの試みられたルートで失敗しました。おそらく、この方法が動作しないようにする角度ルータだけではありません。
the angular docsとして$を使用してください。原因が失敗しました:$コンパイルが見つかりません。または、ディレクティブが見つからないか、何も返さないディレクティブをコンパイルします。角度指令利回り多くの異なる方法、私は仕事をするために管理しているのどれものためのテンプレートのHTMLファイルをテストする方法については、インターネット上でトロール
。私は上記の方法のいずれかを使用して満足していますが、私は全体的な方法で最初から最後まで私を連れて来て、実際に私の質問に答えるために起こっていることを十分にカバーするガイドを見つけることはまだありません。それでは、私のディレクティブで使用されているHTMLをどのようにテストできますか?
@komaliそれはうまくいったのですか? –
私は昨日試してみる機会がありませんでした。ちょうど終わりに質問を出しました。今すぐ試してみてください、お返事いただきありがとうございます。 –
"モジュール 'テンプレートが利用できません!"カルマからの誤り。私はstripprefixオプションとprependprefixオプションを使って遊んでみました。実際にはビルドプロセスがないので、それらを使わずに行こうとしましたが、私はこの問題を解決できませんでした。何かご意見は? –