2017-07-26 8 views
1

現在、Angular Materialを使用するいくつかの角度コンポーネントについていくつかのユニットテストを書いています。私が今問題を抱えているのは、単体テストを実行するときに次の警告が表示され続けることです。ユニットテストコンポーネントの場合に表示される角度の材料の警告

console.warn node_modules\@angular\material\bundles\material.umd.js:183 
Current document does not have a doctype. This may cause some Angular Material components not to behave as expected. 

console.warn node_modules\@angular\material\bundles\material.umd.js:196 
Could not find Angular Material core theme. Most Material components may not work as expected. For more info refer to the theming guide: https://material.ang 
ular.io/guide/theming 

console.warn node_modules\@angular\material\bundles\material.umd.js:3327 
Could not find HammerJS. Certain Angular Material components may not work correctly. 

これらの警告は正常ですか?どのようにこれらの警告を抑制するためのアイデアは、私が本当に単体テストに関係しているとは思わないのですか?

答えて

0

警告を抑制するハックを発見しました。 Jest設定では、Jestテストフレームワークを設定できるスクリプトファイルを設定するオプションがあります。

"jest": { 
    "setupTestFrameworkScriptFile": "<rootDir>/src/setup.ts", 
    } 

は冗談のAPIドキュメント

設定するか、各テストの前に テストフレームワークを設定するには、いくつかのコードを実行モジュールへのパスからsetupTestFrameworkScriptFileオプションを参照してください。 の前にsetupFilesが実行されているため、このスクリプトファイル は、テストフレームワークが環境にインストールされた直後にいくつかのコードを実行する機会を提供します。 setup.tsで次に

、我々はすべての警告を抑制するために次の操作を行います。

console.warn = function() {}; 

おそらく最も理想的な方法ではありませんでしたが、やりました。

0

私はkarma.config.js

files: [ 
      {pattern: './src/test.ts', watched: false}, 
      { 
       pattern: './node_modules/@angular/material/prebuilt-themes/indigo-pink.css', 
       included: true, 
       watched: true 
      } 
     ], 
内のファイルの配列に以下の行を追加することでこの問題を解決することができました
関連する問題