blob: f73903737c3220c1a14a589ba5d135c78bb18f0e [file] [log] [blame]
Akane121765b61a72025-05-17 13:52:25 +08001// jest-dom adds custom jest matchers for asserting on DOM nodes.
2// allows you to do things like:
3// expect(element).toHaveTextContent(/react/i)
4// learn more: https://github.com/testing-library/jest-dom
5import '@testing-library/jest-dom';
6
7// 模拟 localStorage
8const localStorageMock = (function() {
9 let store = {};
10 return {
11 getItem: jest.fn((key) => store[key] || null),
12 setItem: jest.fn((key, value) => {
13 store[key] = String(value);
14 }),
15 removeItem: jest.fn((key) => {
16 delete store[key];
17 }),
18 clear: jest.fn(() => {
19 store = {};
20 })
21 };
22 })();
23
24 // 挂载到全局
25 Object.defineProperty(window, 'localStorage', {
26 value: localStorageMock,
27 writable: true // 必须设置为可写
28 });