54 lines
1.2 KiB
TypeScript
54 lines
1.2 KiB
TypeScript
/**
|
||
* 测试设置文件
|
||
* 配置全局测试环境和共享设置
|
||
*/
|
||
|
||
import { vi } from 'vitest';
|
||
|
||
// 模拟浏览器API(其实用不到)
|
||
Object.defineProperty(window, 'localStorage', {
|
||
value: {
|
||
getItem: vi.fn(),
|
||
setItem: vi.fn(),
|
||
removeItem: vi.fn(),
|
||
clear: vi.fn()
|
||
},
|
||
writable: true
|
||
});
|
||
|
||
Object.defineProperty(window, 'sessionStorage', {
|
||
value: {
|
||
getItem: vi.fn(),
|
||
setItem: vi.fn(),
|
||
removeItem: vi.fn(),
|
||
clear: vi.fn()
|
||
},
|
||
writable: true
|
||
});
|
||
|
||
// 模拟IntersectionObserver(其实用不到)
|
||
globalThis.IntersectionObserver = vi.fn().mockImplementation(() => ({
|
||
observe: vi.fn(),
|
||
unobserve: vi.fn(),
|
||
disconnect: vi.fn()
|
||
}));
|
||
|
||
// 模拟ResizeObserver(其实用不到)
|
||
globalThis.ResizeObserver = vi.fn().mockImplementation(() => ({
|
||
observe: vi.fn(),
|
||
unobserve: vi.fn(),
|
||
disconnect: vi.fn()
|
||
}));
|
||
|
||
// 模拟requestAnimationFrame(其实用不到)
|
||
globalThis.requestAnimationFrame = vi.fn((cb: FrameRequestCallback) => setTimeout(cb, 0));
|
||
|
||
// 模拟cancelAnimationFrame(其实用不到)
|
||
globalThis.cancelAnimationFrame = vi.fn((id: number) => clearTimeout(id));
|
||
|
||
// 模拟fetch
|
||
globalThis.fetch = vi.fn();
|
||
|
||
// 设置环境变量
|
||
process.env.NODE_ENV = 'test';
|