Невозможно написать тестовый блок для компонента дерева - PullRequest
0 голосов
/ 05 сентября 2018

Я пишу тестовый блок для компонента Angular Tree с использованием жасмина. Я следую https://angular2 -tree.readme.io / docs , чтобы создать представление дерева в моем приложении.

Ниже приведен мой код компонента Permissionv2.component.ts

import { AppTranslationService } from "../../services/app-translation.service";
import { ITreeOptions, IActionMapping, TreeComponent } from 'angular-tree-component';
@Component({
    selector: 'permissionsV2-editor',
    templateUrl: './permissionsV2-editor.component.html',
    styleUrls: ['./permissionsV2-editor.component.css'],
    encapsulation: ViewEncapsulation.None
})


export class PermissionsV2EditorComponent  {
options: ITreeOptions = {
        getChildren: this.getChildren.bind(this)
    };

//Other implementation
}

Ниже мой Permissionv2.component.spec.ts

import { ITreeOptions, IActionMapping, TreeComponent } from 'angular-tree-component';
import { TreeModule } from 'angular-tree-component';

    beforeEach(async(() => {
        TestBed.configureTestingModule({
            imports: [
                TreeModule,
                HttpClientModule,
                RouterTestingModule,
                TranslateModule.forRoot({
                    loader: {
                        provide: TranslateLoader,
                        useClass: TranslateLanguageLoader
                    }
                }),
                NgxDatatableModule,
                FormsModule,
                UiSwitchModule,
                TooltipModule.forRoot(),
                ModalModule.forRoot(),
            ],
            declarations: [
                TreeComponent,
                PermissionsV2EditorComponent,
                SearchBoxComponent
            ],
            providers: [
                {
                    provide: LogMessages, useClass: LogMessagesMock
                }
  }).compileComponents();

        fixture = TestBed.createComponent(PermissionsV2EditorComponent);
        component = fixture.componentInstance;
        submitEl = fixture.debugElement;
        fixture.detectChanges();
    }));

   it('should create the Permission V2 component', async(() => {
        component.nodes = [];
        expect(component).toBeTruthy();
    }));

Когда я запускаю тестовые случаи, я получаю ошибки ниже.

PermissionsV2EditorComponent должен создать компонент Permission V2 Ошибка: Тип TreeComponent является частью объявлений 2 модулей: TreeModule и DynamicTestModule! Пожалуйста, рассмотрите возможность перемещения TreeComponent в более высокий модуль, который импортирует TreeModule и DynamicTestModule. Вы также можно создать новый NgModule, который экспортирует и включает TreeComponent затем импортируйте этот NgModule в TreeModule и DynamicTestModule.

Может ли кто-нибудь помочь мне разобраться с этой проблемой? Любая помощь будет оценена. Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...