所有角度单元测试,错误提示为“非法状态:无法加载指令…的摘要”

问题描述 投票:0回答:1

Angular创建的所有样板测试均无法构建。举个例子:

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();
  });
});

[每当我运行ng test时都会失败,并显示Illegal state: Could not load the summary for directive CheckboxComponent。我们大约有十二个组件,它们都以这种方式失效。

该应用程序以开发和生产模式构建并运行,没有任何问题。

angular unit-testing karma-jasmine
1个回答
0
投票

此问题是由完全不相关的指令单元测试失败引起的。

令人沮丧的是,只有CheckboxComponent测试套件正在运行(带有fdescribe标记,并且没有错误给出了另一个测试套件的正确名称(应该排除在外,因为它没有fdescribe标签)。

解决方案是将所有102个测试规范文件从.spec.ts重命名为.spec.bak,并将它们一个接一个地添加,以找出哪个测试失败。

© www.soinside.com 2019 - 2024. All rights reserved.