Używam Angular CLI 1.0.0-beta.32.2 i piszę test jednostkowy dla usługi Angular 2, która dynamicznie tworzy komponent i wstawia go do innego komponentu.Angular 2 TestModuleMetadata nie ma właściwości EntryComponents
Podczas testu jednostkowego próbuję utworzyć fałszywy komponent w celu przetestowania mojej usługi, ale wynik działania ng test
powoduje zgłoszenie błędu, podając, że mój próbny komponent jest określony we właściwości entryComponents
. Kiedy próbuję dodać komponent do właściwości entryComponents
obiektu TestModuleMetadata, na przykład: TestBed.createTestingModule({...entryComponents: [ TestDialogComponent ]...})
Widzę następujący błąd stwierdzający, że właściwość entryComponents
nie istnieje.
Chrome 56.0.2924 (Windows 10 0.0.0) DialogService should create a child component when opening FAILED Error: No component factory found for TestDialogComponent. Did you add it to @NgModule.entryComponents?
Patrząc na definicji TestModuleMetadata pokazuje, że nieruchomość entryComponents nie istnieje. Więc jak mogę dynamicznie tworzyć komponent w moich testach jednostkowych w Angular 2 i Jasmine?
że ustalił, dziękuję! Znalazłem otwarty problem dotyczący pominięcia właściwości 'entryComponents' w module TestModuleMetadata, [ComponentFactoryResolver nie zna składników skompilowanych przez TestBed] (https://github.com/angular/angular/issues/10760) –