Ошибка: не удается создать компонент ComponentClass, так как он не был импортирован в модуль тестирования

У меня есть указанная выше тестовая база, настроенная в приложении 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;

   });
});

Есть ли в декораторе AddressLookUpDirective свойство templateUrl или styleUrls?

vince 21.05.2018 03:04

@vincecampanale Нет, но есть селектор @Directive({ selector: '[addressLookUp]' })

fidev 21.05.2018 14:24
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
2
2
1 781
1

Ответы 1

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

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

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

Другие вопросы по теме