2016-10-19 1 views
1

Ich versuche meine Angular 2-Anwendung nach Angular2 zu testen Testdokument Die Komponente, die ich gerade teste, hat eine externe Vorlage (ich habe andere Komponenten mit externen Templates getestet und die Tests laufen gut), aber wenn ich versuche, sie mit '.compileComponents' zu kompilieren oder versuche ein Fixture mit 'fixture =' zu erstellen TestBed.createComponent (Test-Komponente),‘es gibt mir die folgende Fehlermeldung:Wenn 'ein Komponenten-Tag' eine Angular-Komponente ist und ein 'some-input-var'-Eingang ist, dann vergewissern Sie sich, dass es Teil dieses Moduls ist.

Uncaught: Can't bind to 'input-variable' since it isn't a known property of 'another-component-tag'. 
1. If 'another-component-tag' is an Angular component and it has 'input-variable' input, then verify that it is part of this module. 
2. If 'another-component-tag' is a Web Component then add "CUSTOM_ELEMENTS_SCHEMA" to the '@NgModule.schema' of this component to suppress this message. 
(" 

ich verwende '' in meiner Vorlage (hTML-Datei). Aber ich bin nicht sicher, warum der Test-Runner beim Erstellen eines Fixtures, das auf das andere Komponenten-Tag verweist, das ich in der Template-Datei definiert habe, einen Fehler gibt. Kann mir jemand einen Hinweis geben, was das Problem sein könnte? Ich habe schon Stunden damit verbracht, das Problem zu beheben, konnte aber immer noch keine Arbeit finden.

+1

Wird eine andere Komponente von der zu testenden Komponente verwendet? Wenn ja, haben Sie es in die Erklärungen aufgenommen? –

+0

Ich kann nicht glauben, dass ich einen so dummen Fehler gemacht habe! Danke, dass Sie mir vorgeschlagen haben, dass ich alle Dienste bereitgestellt habe, die die Testkomponente verwendet, aber die Komponente in den Deklarationen verpasst habe. Noch einmal vielen Dank! – Aiguo

Antwort

1

Sieht so aus, als hätte ich die andere Komponente, die in meiner Testkomponente verwendet wird, nicht unter "Anbieter" in der Spezifikationsdatei deklariert. Problem gelöst!

Verwandte Themen