前段
Change-Id: I718d4d07ea03c6d2b6bcbd4d426c5d1af2201bf4
diff --git a/src/setupTests.js b/src/setupTests.js
new file mode 100644
index 0000000..f739037
--- /dev/null
+++ b/src/setupTests.js
@@ -0,0 +1,28 @@
+// 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 // 必须设置为可写
+ });
\ No newline at end of file