2017-11-30 1 views
0

Ich traf den Fehler Type 'TestHostComponent' has no properties in common with type 'Component'., als ich den Test mit ng test Befehl ausgeführt, nachdem "TestHostComponent" in UT, um eine Direktive zu testen.Angular 4 der Fehler 'Type' TestHostComponent 'hat keine Eigenschaften mit dem Typ' Component '.' verhindern, dass UT läuft

Dies ist TestHostComponent:

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

Hier ist ein Teil der Codeprüfung:

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

Env:

angular: 4.4.6 

@angular/cli: 1.4.9 

Irgendwelche Vorschläge wäre willkommen .

+0

können Sie Ihre 'TestHostComponent' Datei einfügen? oder Erklärung? hast du '@ Component' Dekorateur drin? –

+0

@LucaTaccagni, die 'TestHostComponent' Datei als Referenz eingefügt, danke im Voraus. –

Antwort

1

Mein Kollege half mir, die Lösung endlich zu finden.

Es stellte sich heraus, ich brach die tslint Regeln, und dann verhindert es UT ausgeführt werden. Die Component Art der Deklaration let comp: Component; sollte zu TestHostComponent geändert werden.

Ich hoffe, es wird anderen helfen.

Verwandte Themen