Добавление зависимого компонента в спецификации, угловой 4 - PullRequest
0 голосов
/ 28 октября 2018

У меня есть файл компонента

<div class="content-wrapper">
    <div class="mdl-grid">
        <div class="mdl-cell mdl-cell--12-col panel--raised white-bg top-17">
            <div class="mdl-grid">
                <div class="mdl-cell mdl-cell--3-col sidebar-main">
                    <app-sidebar [treeData]="serviceJsonData" (ItemChange)='displayItem($event)'></app-sidebar>
                </div>
                <div class="mdl-cell mdl-cell--9-col">
                    <app-catologdata [isClicked]="isClicked" [scatalogId]="scatalogId" (searchData)="sCatalogFilterData($event)"></app-catologdata>
                </div>
            </div>
        </div>
    </div>
</div>

Здесь app-sidebar и app-catologdata - дочерние компоненты.Я хочу написать тестовый файл для этого родительского компонента, но получаю сообщение об ошибке 'app-sidebar' is not a known element:

Пожалуйста, помогите, я новичок в тестировании angular2.

Ответы [ 2 ]

0 голосов
/ 04 ноября 2018

Если я хочу только протестировать родительский элемент без дочерних функций, то мне нравится высмеивать дочерние компоненты в родительском .spec-файле. Что-то вроде:

@Component({
    selector: `app-sidebar`,
    template: `<p>Mock Sidebar Component</p>`
})
class MockSidebarComponent {}

@Component({
    selector: `app-catalogdata`,
    template: `<p>Mock CatalogData Component</p>`
})
class MockCatalogDataComponent {}

beforeEach(() => {
    TestBed.configureTestingModule({
        declarations: [
            ParentComponent,
            MockSidebarComponent,
            MockCatalogDataComponent
        ],
        providers: [/* all providers */]
    });
});
0 голосов
/ 28 октября 2018

Убедитесь, что вы добавили оба компонента в Модуль в

TestBed.configureTestingModule({
  declarations: [comp-A, comp-B],
  imports: [ReactiveFormsModule],
  providers: [
    { provide: comp-AService, useValue: comp-AListSVC } etc
  ]
})
...