Angular TestBed: невозможно связать с ngModel, поскольку оно не является известным свойством ng-select

Я пытаюсь использовать TestBed для тестирования компонента Angular, который имеет ng-select в своем HTML. Сначала я получил сообщение о невозможности привязки к элементам, так как оно не является известным свойством ng-select. поэтому я импортировал NgSelectModule и добавил его к импорту в конфигурациях TestBed. Теперь он возвращает Cannot bind to 'ngModel', так как это не известное свойство 'ng-select'

import { getTestBed, TestBed } from '@angular/core/testing';
import { ProductGenericGridComponent } from './product-generic-grid.component';
import { HttpClientTestingModule } from '@angular/common/http/testing';
import { ProductGridService } from './product-generic-grid.service';
import { NgSelectModule } from '@ng-select/ng-select';
import { ProductItemComponent } from './../product-item/product-item.component';

describe('Product Generic Grid Component', () => {
    beforeEach(() => {
        TestBed.configureTestingModule({
            declarations: [ProductGenericGridComponent],
            imports: [HttpClientTestingModule, NgSelectModule],
            providers: []
        });
    });

    afterEach(() => {
        getTestBed().resetTestingModule();
    });

    it('should return true', () => {
        const fixture = TestBed.createComponent(ProductGenericGridComponent);
        expect(true).toBe(true);
    });
});

3 ответа

Решение

Импортируйте модуль форм в свой стенд.

    TestBed.configureTestingModule({
        declarations: [ProductGenericGridComponent],
        imports: [HttpClientTestingModule, NgSelectModule, FormsModule],
        providers: []
    });

Шаг 1. Установите ng-select: npm install --save @ ng-select / ng-select

Шаг 2. Импортируйте модуль NgSelectModule и angular FormsModule

импортировать {NgSelectModule} из '@ ng-select / ng-select'; импортировать {FormsModule} из '@ angular / forms';

У меня тоже это произошло во время модульного тестирования, и следующие изменения помогли устранить ошибки.

      ...
beforeEach((() => {
    TestBed.configureTestingModule({
        imports:[
            MatDialogModule,
            BrowserAnimationsModule,
            FormsModule,
            AgGridModule.withComponents([]),
            NgSelectModule
        ],
...
Другие вопросы по тегам