【问题标题】:angular 2 component testing errors due to custom elements in html in Jasmine由于 Jasmine 中 html 中的自定义元素导致的 angular 2 组件测试错误
【发布时间】:2018-02-16 16:36:56
【问题描述】:

我正在尝试使用 Jasmine 在 Angular 中测试一个组件。测试很简单,只需要验证组件是否已创建。

it('AppComponent should be created', () => { expect(component).toBeTruthy(); });

这是一个默认规范,如果您使用 Angular cli,它会在规范文件中自动创建。我的问题是组件的html文件中有一些不是常规标签的元素,就是自定义的。

<app-header></app-header> 

问题是我怎样才能让 Jasmine 知道它们,它们来自哪里,或者如何添加链接等,以便像这样的错误

失败:模板解析错误:'app-header' 不是已知元素:1. 如果 'app-header' 是 Angular 组件,则验证它是否是该模块的一部分。

不会显示在 Karma 调试页面中。如何验证?

【问题讨论】:

标签: angular testing jasmine


【解决方案1】:

如果您添加 NO_ERRORS_SCHEMA 可能会起作用:

 import { NO_ERRORS_SCHEMA } from '@angular/core';

会忽略那些组件错误

【讨论】:

    【解决方案2】:

    您没有正确设置TestBed.configureTestingModule({} 块。它的结构类似于角度模块。您需要在此处导入和注入您的模块/组件/服务等。或者嘲笑他们。 请阅读有关此的教程 (https://angular.io/guide/testing#test-a-component)。因为这是非常基本的,无法在这里用一个答案来解释。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-13
      • 1970-01-01
      相关资源
      最近更新 更多