Как выполнить модульное тестирование registerLocaleData в angular - PullRequest
0 голосов
/ 25 марта 2020

Я пытаюсь проверить фактический результат преобразования строки даты с angular 8 и Кармой.

В моем app.module я использую синтаксис: registerLocaleData(localeNl, 'nl');

В моем шаблоне я использую {{date | date: 'MMMM yyyy'}}

Когда я тестирую модуль преобразования канала с помощью:

element = fixture.nativeElement;
content = element.querySelector('.content');
expect(content.innerText).toContain('mei 2020')

Я получаю ошибку Кармы, что innerText - «май 2020», а не «mei 2020» "но в реальном приложении angular он корректно отображает текст" mei 2020 ". Итак, как я могу заставить среду Карма использовать ту же локаль, что и приложение?

1 Ответ

1 голос
/ 25 марта 2020

Попробуйте указать:

import { LOCALE_ID } from '@angular/core';
import { registerLocaleData } from '@angular/common';
...
registerLocaleData(localeNL, 'nl');
...
TestBed.configureTestingModule({
   providers: [{ provide: LOCALE_ID, useValue: 'nl' }], // you know the useValue here
});

Что касается валюты . вместо ,, я понятия не имею, почему это происходит.

...