2019-09-27

总结一下最近 jest 上面的经验

fe

Tags

总结一下最近 jest 上面的经验

J.Gong

2019-09-27

0.34min

总结一下最近 jest 上面的经验

mock localStorage

jsdom里面的localStorage是不能通过赋值覆盖的,但是有一个hack就是利用Object.defineProperty。

Object.defineProperty(window, 'localStorage', {
    writable: true,
    value:{
        getItem: jest.fn(),
        setItem: jest.fn()
    }
});

setTimeout

有的时候需要让测试代码以为自己已经跑了一会儿。

jest.useFakeTimers();

jest.advanceTimersByTime();

jest.clearAllTimers();

matchMedia

jsdom 还没提供,需要自己mock。

window.matchMedia = jest.fn(query => ({
    matches: false,
    media: query,
    onchange: null,
    addListener: jest.fn(),
    removeListener: jest.fn(),
}));

© 2025 All rights reserved..

This website uses Astro.build, Mantine and React Bits | deployed on Vercel