2

jestを使用して瞬間ライブラリのフォーマット関数をモックしようとしています。テストファイルに次のコードがあります。

app.spec.js :

jest.mock('moment', () => {
    const moment = () => ({
        format: () => mockedTime
    });
    moment.tz = {
        setDefault: () => {}
    };
    moment.tz.setDefault('Asia/Singapore');
    return moment;
});

app.js :

moment.tz.setDefault(TIMEZONE);
moment().format('YYYYMMDD');

次の出力を生成しています。

 - "date": "20190825", // mocked date
 - "date": "20190827", // result value

予想される出力は次のようになります。

 - "date": "20190825", // mocked date
 - "date": "20190825", // result value

コードの何が問題なのかを指摘してくれる人はいますか?

ありがとう。

4

3 に答える 3