Я получаю сообщение об ошибке при использовании Jasmine для проверки одного из моих угловых 6 компонентов:
Не удалось найти трубу 'paginate' ("] Элемент activityLogDisplay.data | paginate: config; let index= index "(click) ="): ng: ///DynamicTestModule/ActivitylogComponent.html@59: 34 'pagination-controls' не является известным элементом:
Я использую модуль NgxPaginationModule, который я установил сследующая команда:
npm install ngx-pagination --save
Итак, обратите внимание, что я не использую пользовательский канал, который создал сам, я использую тот, который принадлежит загруженному пакету. Мой компонентный тест не проходитиспользование канала, а не тестирование самого канала. Вот как выглядит использование пагинации в моем html-шаблоне:
<li class="list-group-item list-group-item-action"
*ngFor="let alItem of activityLogDisplay.data | paginate: config; let index = index"
(click)="toggleALView(alItem.index)">
Вот как выглядит мой файл spec.ts (довольно многоиз коробки):
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { ActivitylogComponent } from './activitylog.component';
describe('ActivitylogComponent', () => {
let component: ActivitylogComponent;
let fixture: ComponentFixture<ActivitylogComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ ActivitylogComponent ]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(ActivitylogComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});
Я попытался добавить импорт NgxPaginationModule в файл spec.ts:
import { NgxPaginationModule } from 'ngx-pagination';
И я включил его в область объявленийКонфигурация TestBed:
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ ActivitylogComponent, NgxPaginationModule ]
})
.compileComponents();
}));
сообщение об ошибке меняется на:
Failed: Unexpected module 'NgxPaginationModule' declared by the module
'DynamicTestModule'. Please add a @Pipe/@Directive/@Component annotation.
В моем файле app.module.ts у меня есть NgxPaginationModule, указанный в массиве импорта, а не в массиве объявлений:
import { NgxPaginationModule } from 'ngx-pagination';
@NgModule({
declarations: [
AppComponent,
ActivitylogComponent
],
imports: [
BrowserModule,
FormsModule,
HttpClientModule,
NgxPaginationModule,
RouterModule.forRoot(appRoutes,{useHash:true})
],
providers: [IndexService, AdminIndexService],
bootstrap: [LandingpageComponent]
})
Любые идеичто мне нужно сделать, чтобы этот тест заработал?