2017-07-26 61 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 
      } 
     ],