【发布时间】:2019-09-15 07:33:23
【问题描述】:
无法绑定到“icon”,因为它不是“fa-icon”的已知属性。
尝试在 people.component.spec.ts 中运行此测试时
import { async, ComponentFixture, TestBed } from "@angular/core/testing";
import { PeopleComponent } from "./people.component";
describe("PeopleComponent Unit Test", () => {
let component: PeopleComponent;
let fixture: ComponentFixture<PeopleComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [PeopleComponent]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(PeopleComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it("should create", () => {
expect(component).toBeTruthy();
});
;
})
跑步者显示此错误:
失败:模板解析错误: 无法绑定到“icon”,因为它不是“fa-icon”的已知属性。
- 如果“fa-icon”是一个 Angular 组件并且它有“icon”输入,那么
验证它是该模块的一部分。 - 如果“fa-icon”是一个 Web 组件,则将“CUSTOM_ELEMENTS_SCHEMA”添加到该组件的“@NgModule.schemas”中 组件来禁止显示此消息。
- 要允许任何属性将“NO_ERRORS_SCHEMA”添加到该组件的“@NgModule.schemas”。这是导致问题的 HTML。
我尝试在测试端导入 FontAwesomeModule 和 FaIcon 并添加到 TestBed 配置的导入语句。我试图确保组件端也有导入。似乎没有任何效果。
【问题讨论】:
-
如果 'fa-icon' 是一个 Angular 组件并且它有 'icon' 输入,那么验证它是这个模块的一部分。。那么让我们看看configureTestingModule()中的模块定义。哎呀!它不导入 FontAwesomeModule。所以 fa-icon 是一个未知元素。所以你得到了那个错误。
标签: angular typescript unit-testing karma-jasmine karma-runner