gpt4 book ai didi

angular - Karma、Angular 7 和 FontAwesome 问题无法绑定(bind)到 'icon',因为它不是 'fa-icon' 的已知属性

转载 作者:行者123 更新时间:2023-12-02 14:41:28 24 4
gpt4 key购买 nike

无法绑定(bind)到“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();
});
;
})

运行者显示此错误:

失败:模板解析错误:无法绑定(bind)到“icon”,因为它不是“fa-icon”的已知属性。

  1. 如果“fa-icon”是 Angular 组件并且具有“icon”输入,则
    验证它是否是该模块的一部分。
  2. 如果“fa-icon”是 Web 组件,则将“CUSTOM_ELEMENTS_SCHEMA”添加到该组件的“@NgModule.schemas”中组件来抑制此消息。
  3. 要允许任何属性,请将“NO_ERRORS_SCHEMA”添加到该组件的“@NgModule.schemas”中。这是导致问题的 HTML。

This is the problem

我尝试在测试端导入 FontAwesomeModule 和 FaIcon 并添加到 TestBed 配置的导入语句中。我试图确保组件侧也有导入。似乎什么都不起作用。

最佳答案

找到解决方案:在configureTestingModule中,必须正确使用声明、提供程序和导入。如下所示完成后,例如appmodel 提供者甚至样式都出现在 Jasmine 测试中。

import { async, ComponentFixture, TestBed } from "@angular/core/testing";
import { PeopleComponent } from "./people.component";
import { FaIconComponent } from "@fortawesome/angular-fontawesome";
import { DisplayNamePipe } from "src/app/extensions/pipes.format.person.display-name";
import { RouterModule } from "@angular/router";
import { SSNFormatPipe } from "src/app/extensions/pipes.format.ssn";
import { AppModule } from "src/app/app.module";
import { RestangularModule } from "ngx-restangular";




describe("PeopleComponent", () => {
let component: PeopleComponent;
let fixture: ComponentFixture<PeopleComponent>;

beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [PeopleComponent, FaIconComponent, DisplayNamePipe, SSNFormatPipe ],
providers: [AppModule],
imports:[ RestangularModule.forRoot(), RouterModule.forRoot([])]
})
.compileComponents();
}));


beforeEach(() => {
fixture = TestBed.createComponent(PeopleComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});


it("should create", () => {
expect(component).toBeTruthy();
});
;
})

这告诉我,模块的配置必须包括 Angular 7 应用程序所做的所有事情,以便测试能够镜像前端渲染、路由、图标和管道。

关于angular - Karma、Angular 7 和 FontAwesome 问题无法绑定(bind)到 'icon',因为它不是 'fa-icon' 的已知属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55856548/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com