Ошибка: невозможно создать компонент ComponentClass, так как он не был импортирован в модуль тестирования - PullRequest
0 голосов
/ 18 мая 2018

У меня есть тестовая база, указанная выше, в приложении Angular Cli 6.0.1.

Использование Jasmine V2.8.0 и Karma V2.0.0

Я получаю следующую ошибкустрока 13

Error: Cannot create the component AddressLookUpDirective as it was not imported into the testing module!

Не могу понять, что идет не так ... любые предложения приветствуются

import { TestBed, ComponentFixture } from '@angular/core/testing';
import { BrowserDynamicTestingModule, platformBrowserDynamicTesting } from '@angular/platform-browser-dynamic/testing';

import { AddressLookUpDirective } from './address-look-up.directive';

describe('AddressLookUpDirective', () => {

    let component: AddressLookUpDirective;
    let fixture: ComponentFixture<AddressLookUpDirective>;

    beforeEach(() => {

        TestBed.configureTestingModule({
        declarations: [
            AddressLookUpDirective
          ]
        });

       fixture = TestBed.createComponent(AddressLookUpDirective);
       component = fixture.componentInstance;

   });
});

1 Ответ

0 голосов
/ 01 октября 2018

Вы должны создать фиктивный компонент для тестирования Директив и импортировать директиву и фиктивный компонент в TestBed.

@Component({
    template: `<input type="text" hoverfocus>` 
})
class TestHoverFocusComponent {
}

@ see https://codecraft.tv/courses/angular/unit-testing/directives/

...