如何在 angular 中对 registerLocaleData 进行单元测试
How to Unit test registerLocaleData in angular
我正在尝试使用 angular 8 和 Karma 测试日期字符串转换的实际输出。
在我的 app.module 中,我使用语法:
registerLocaleData(localeNl, 'nl');
在我的模板中我使用
{{date | date: 'MMMM yyyy'}}
当我对管道转换进行单元测试时:
element = fixture.nativeElement;
content = element.querySelector('.content');
expect(content.innerText).toContain('mei 2020')
我收到 Karma 错误,innerText 是 "May 2020" 而不是 "mei 2020",但在实际的 angular 应用程序中它正确地呈现文本 "mei 2020"。那么如何让 Karma 环境使用与应用程序相同的语言环境?
尝试提供:
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
});
至于货币是 .
而不是 ,
,我不知道为什么会这样。
我正在尝试使用 angular 8 和 Karma 测试日期字符串转换的实际输出。
在我的 app.module 中,我使用语法:
registerLocaleData(localeNl, 'nl');
在我的模板中我使用
{{date | date: 'MMMM yyyy'}}
当我对管道转换进行单元测试时:
element = fixture.nativeElement;
content = element.querySelector('.content');
expect(content.innerText).toContain('mei 2020')
我收到 Karma 错误,innerText 是 "May 2020" 而不是 "mei 2020",但在实际的 angular 应用程序中它正确地呈现文本 "mei 2020"。那么如何让 Karma 环境使用与应用程序相同的语言环境?
尝试提供:
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
});
至于货币是 .
而不是 ,
,我不知道为什么会这样。