Angular 所有角度单元测试均带有“误差”;非法状态:无法加载指令的摘要…”;
所有的样板测试都无法构建。举个例子:Angular 所有角度单元测试均带有“误差”;非法状态:无法加载指令的摘要…”;,angular,unit-testing,karma-jasmine,Angular,Unit Testing,Karma Jasmine,所有的样板测试都无法构建。举个例子: import { async, ComponentFixture, TestBed } from '@angular/core/testing'; import { CheckboxComponent } from './checkbox.component'; fdescribe('CheckboxComponent', () => { let component: CheckboxComponent; let fixture: Comp
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { CheckboxComponent } from './checkbox.component';
fdescribe('CheckboxComponent', () => {
let component: CheckboxComponent;
let fixture: ComponentFixture<CheckboxComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ CheckboxComponent ]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(CheckboxComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});
从'@angular/core/testing'导入{async,ComponentFixture,TestBed};
从“./checkbox.component”导入{CheckboxComponent};
fdescribe('CheckboxComponent',()=>{
let组件:CheckboxComponent;
let夹具:组件夹具;
beforeach(异步(()=>{
TestBed.configureTestingModule({
声明:[CheckboxComponent]
})
.compileComponents();
}));
在每个之前(()=>{
fixture=TestBed.createComponent(CheckboxComponent);
组件=fixture.componentInstance;
fixture.detectChanges();
});
它('应该创建',()=>{
expect(component.toBeTruthy();
});
});
无论何时运行ng测试
它都会失败,状态为非法:无法加载指令CheckboxComponent的摘要
。我们有十几个组件,它们都以这种方式失效
应用程序在开发和生产模式下构建和运行,没有任何问题。此问题可能是由完全不相关的指令单元测试失败引起的 令人沮丧的是,只有CheckboxComponent测试套件正在运行(带有
fdescribe
标记),并且没有错误给出其他测试套件的正确名称(由于没有fdescribe
标记,应该将其排除在外)
解决方案是将所有102个测试规范文件从
.spec.ts
重命名为.spec.bak
,并逐个添加,以找出哪个测试失败。此问题是由完全不相关的指令单元测试失败引起的
令人沮丧的是,只有CheckboxComponent测试套件正在运行(带有fdescribe
标记),并且没有错误给出其他测试套件的正确名称(由于没有fdescribe
标记,应该将其排除在外)
解决方案是将所有102个测试规范文件从.spec.ts
重命名为.spec.bak
,然后逐个添加回去,以找出哪个测试失败