[解決済み] karmaのユニットテストにおいて、画像の404警告を修正する方法
2023-04-07 10:31:10
質問
grunt/karma/phantomjs/jasmineを使用して、ディレクティブ(angularjs)の1つをユニットテストしています。私のテストはうまく実行されます。
describe('bar foo', function () {
beforeEach(inject(function ($rootScope, $compile) {
elm = angular.element('<img bar-foo src="img1.png"/>');
scope = $rootScope.$new();
$compile(elm)();
scope.$digest();
}));
....
});
が、このような404が表示されます。
WARN [web-server]: 404: /img1.png
WARN [web-server]: 404: /img2.png
...
これらは何もしませんが、ログ出力にノイズを加えています。これを修正する方法はありますか?(もちろん、それらを見たいので、カルマのlogLevelを変更することなく)
どのように解決するのですか?
それは、カルマをロードするように設定し、要求されたときにそれらを提供する必要があるからです ;)
karma.conf.jsファイルには、すでに以下のようなファイルおよび/またはパターンが定義されているはずです。
// list of files / patterns to load in the browser
files : [
{pattern: 'app/lib/angular.js', watched: true, included: true, served: true},
{pattern: 'app/lib/angular-*.js', watched: true, included: true, served: true},
{pattern: 'app/lib/**/*.js', watched: true, included: true, served: true},
{pattern: 'app/js/**/*.js', watched: true, included: true, served: true},
// add the line below with the correct path pattern for your case
{pattern: 'path/to/**/*.png', watched: false, included: false, served: true},
// important: notice that "included" must be false to avoid errors
// otherwise Karma will include them as scripts
{pattern: 'test/lib/**/*.js', watched: true, included: true, served: true},
{pattern: 'test/unit/**/*.js', watched: true, included: true, served: true},
],
// list of files to exclude
exclude: [
],
// ...
ご覧ください ここで をご覧ください。)
EDIT : nodejsのウェブサーバを使用してアプリを実行する場合、karma.conf.jsにこれを追加することができます。
proxies: {
'/path/to/img/': 'http://localhost:8000/path/to/img/'
},
EDIT2 : 他のサーバを使用しない、または使用したい場合、ローカルプロキシを定義することができますが、Karmaは使用中のポートへのアクセスを動的に提供しないため、もしkarmaが9876(デフォルト)以外のポートで起動すると、まだそれらの迷惑な404を得るでしょう...。
proxies = {
'/images/': '/base/images/'
};
関連
-
[解決済み] データベース駆動型アプリケーションのユニットテストに最適な戦略とは?
-
[解決済み】Angular / TypeScriptのプライベートメソッドのユニットテストをJasmineで記述する方法
-
[解決済み] JavaScriptで:hoverのCSSプロパティを変更する
-
[解決済み] Reactコンポーネントでthis.setStateを複数回使用するとどうなりますか?
-
[解決済み] JavaScriptのtoString()関数をオーバーライドして、デバッグ用に意味のある出力を提供することは可能でしょうか?
-
[解決済み] Javascriptで動的に命名されたメソッドを呼び出すにはどうすればよいですか?
-
[解決済み] JSHintの'+'前の改行不良の説明
-
[解決済み] Javascript の parseInt() で先頭のゼロを削除する。
-
[解決済み] JavaScriptの文字列プリミティブとStringオブジェクトの違いは何ですか?
-
[解決済み] JavaScriptでDIVを表示・非表示にするには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] AngularJSのエラーです。Cross Origin リクエストはプロトコルスキーム http, data, chrome-extension, https に対してのみサポートされています。
-
[解決済み] JavaScriptで次の要素/前の要素を取得しますか?
-
[解決済み] JavaScript で範囲を作成する - 奇妙な構文
-
[解決済み] 文字列がすべて同じ部分文字列で構成されているかどうかを調べるにはどうすればよいですか?
-
[解決済み] Angularjs - 現在の日付を表示する
-
[解決済み] WebStormで未解決の変数が大量にある場合の警告に対処する方法は?
-
[解決済み] react-routerのハッシュフラグメントからクエリパラメータを取得する
-
[解決済み] AJAX Mailchimp サインアップフォームの統合
-
[解決済み] JSHintの'+'前の改行不良の説明
-
[解決済み] Node.jsのES6クラスをrequireで作る