我正在尝试使用Jasmine测试Angular中的组件。测试很简单,只需要验证组件是否已创建。
it('AppComponent should be created', () => {
expect(component).toBeTruthy();
});
如果使用angular cli,它是在spec文件中自动创建的默认规范。我的问题是组件的html文件有一些不是常规标签的元素,这是自定义的。
<app-header></app-header>
问题是如何让Jasmine了解它们,它们来自何处,或者如何添加链接等,以便像
这样的错误失败:模板解析错误:'app-header'不是已知元素:1。如果'app-header'是Angular组件,请验证它是否是此模块的一部分。
不会显示在Karma调试页面中。如何验证?
答案 0 :(得分:1)
如果添加 NO_ERRORS_SCHEMA 可能会起作用:
import { NO_ERRORS_SCHEMA } from '@angular/core';
将忽略那些组件错误
答案 1 :(得分:0)
您没有正确设置TestBed.configureTestingModule({}
块。它的结构类似于角度模块。您需要在此处导入和注入模块/组件/服务等。或嘲笑他们。
请阅读相关教程(https://angular.io/guide/testing#test-a-component)。由于这是非常基本的,因此无法在一个答案中解释。