如何测试依赖于本地玩笑的值,酶?

问题描述 投票:0回答:1

如何测试可能取决于当前本地化的值?

function DateNavigation({ locale, date }) {
  return (locale === 'en')
    ? <span>{moment(date).format('DD.MM.YYYY')}</span>
    : <span>{moment(date).format('YYYY.MM.DD')}</span>
}

此测试有时由于位置而不起作用

it('display date correctly', () => {
    const component = mount(<DateNavigation date={'2022-01-31'} />);

    expect(component.html()).toEqual("<span>31.01.2022</span>");
});
javascript reactjs jestjs enzyme
1个回答
0
投票
您可以使用jest.mock(moduleName, factory, options)模拟moment()moment().format()函数及其返回值。测试结果必须是可预测的。对于有关date的测试,我们需要使测试用例在不同的系统,时区和本地化中返回一定的值。
© www.soinside.com 2019 - 2024. All rights reserved.