Нет поставщика для префикса ключа локализации InjectionToken - PullRequest
0 голосов
/ 11 октября 2019

Я не новичок в angular, и обычно я знаю, как обрабатывать ошибки «Нет провайдера для XYZ», но в этом случае я не знаю, что означает angular с «Префиксом ключа локализации»

MyКомпонент является базовой оболочкой для кендо-пейджера

<ng-container *ngIf="render">
    <kendo-pager-prev-buttons *ngIf="previousNext"></kendo-pager-prev-buttons>
    <kendo-pager-input *ngIf="type=='input'"></kendo-pager-input>
    <kendo-pager-numeric-buttons *ngIf="type=='numeric'" [buttonCount]="buttonCount"></kendo-pager-numeric-buttons>
    <kendo-pager-page-sizes *ngIf="pageSizes"></kendo-pager-page-sizes>
    <kendo-pager-next-buttons *ngIf="previousNext"></kendo-pager-next-buttons>
</ng-container>

import {Component, Input, OnInit} from '@angular/core';

@Component({
    selector: 'b-pager',
    templateUrl: './b-pager.component.html',
    styleUrls: ['./b-pager.component.scss']
})
export class BPagerComponent implements OnInit {

    @Input() public buttonCount = 5;
    @Input() public type: 'numeric' | 'input' = 'numeric';
    @Input() public pageSizes = false;
    @Input() public previousNext = true;
    @Input() public render = true;

    constructor() {}

    ngOnInit() {}
}

При выполнении тестов для этого компонента появляется сообщение об ошибке «Нет поставщика для префикса ключа локализации InjectionToken».

Это тестcode

import {LOCALE_ID} from '@angular/core';
import {async, ComponentFixture, TestBed} from '@angular/core/testing';
import {BrowserTestingModule} from '@angular/platform-browser/testing';
import {TranslateService} from '@ngx-translate/core';
import {PagerModule} from '@progress/kendo-angular-grid';
import {LocalizationService, MessageService} from '@progress/kendo-angular-l10n';

import {BPagerComponent} from './b-pager.component';

describe('BPagerComponent', () => {
    let component: BPagerComponent;
    let fixture: ComponentFixture<BPagerComponent>;

    beforeEach(async(() => {
        TestBed.configureTestingModule({
            imports: [PagerModule, BrowserTestingModule],
            declarations: [BPagerComponent],
            providers: [
                LocalizationService
            ]
        }).compileComponents();
    }));

    beforeEach(() => {
        fixture = TestBed.createComponent(BPagerComponent);
        component = fixture.componentInstance;
        fixture.detectChanges();
    });

    it('should create', () => {
        expect(component).toBeTruthy();
    });
});

Зависимости для интернализации в package.json:

"@progress/kendo-angular-grid": "^3.0.0",
"@progress/kendo-angular-intl": "^2.0.0",
"@progress/kendo-angular-l10n": "^2.0.0",

Кто-нибудь знает, почему я получаю эту ошибку и как ее исправить?

...