blob: f73903737c3220c1a14a589ba5d135c78bb18f0e [file] [log] [blame]
// jest-dom adds custom jest matchers for asserting on DOM nodes.
// allows you to do things like:
// expect(element).toHaveTextContent(/react/i)
// learn more: https://github.com/testing-library/jest-dom
import '@testing-library/jest-dom';
// 模拟 localStorage
const localStorageMock = (function() {
let store = {};
return {
getItem: jest.fn((key) => store[key] || null),
setItem: jest.fn((key, value) => {
store[key] = String(value);
}),
removeItem: jest.fn((key) => {
delete store[key];
}),
clear: jest.fn(() => {
store = {};
})
};
})();
// 挂载到全局
Object.defineProperty(window, 'localStorage', {
value: localStorageMock,
writable: true // 必须设置为可写
});