【问题标题】:Angular 4 the error 'Type 'TestHostComponent' has no properties in common with type 'Component'.' prevent UT runningAngular 4 错误“'TestHostComponent' 类型与'Component' 类型没有共同的属性。”防止UT运行
【发布时间】:2018-05-14 08:36:54
【问题描述】:

我遇到错误Type 'TestHostComponent' has no properties in common with type 'Component'.,当我使用ng test 命令运行测试时,在UT 中包含'TestHostComponent' 以测试指令。

这是TestHostComponent:

@Component({
 template: `<div someAttr></div>`
})
export class TestHostComponent {}

下面是部分测试代码:

 let fixture: ComponentFixture<TestHostComponent>;
 let de: DebugElement;
 let comp: Component;

 beforeEach(() => {
  fixture = TestBed.configureTestingModule({
    declarations: [SomeDirective, TestHostComponent]
  })
  .createComponent(TestHostComponent);

 fixture.detectChanges();
    de = fixture.debugElement.query(By.directive(SomeDirective));
    comp = fixture.componentInstance;
  });

 it('should be defined', () => {
   expect(de).toBeDefined();
 });

环境:

angular: 4.4.6

@angular/cli: 1.4.9

任何建议将不胜感激。

【问题讨论】:

  • 您可以粘贴您的TestHostComponent 文件吗?或声明?你里面有 @Component 装饰器吗?
  • @LucaTaccagni,贴上TestHostComponent 文件供您参考,提前致谢。

标签: angular unit-testing angular-cli angular-directive


【解决方案1】:

我的同事终于帮我找到了解决办法。

原来我违反了 tslint 规则,然后它阻止了 UT 运行。 Component 类型的解除权限 let comp: Component; 应更改为 TestHostComponent。

希望它能帮助其他人。

【讨论】:

    猜你喜欢
    • 2023-01-05
    • 2017-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-09
    • 2022-08-17
    • 2022-08-10
    相关资源
    最近更新 更多