setup.js
1.69 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
/**
* Vitest 测试环境设置
*/
import { vi } from 'vitest'
import { config } from '@vue/test-utils'
// 全局 Mock
config.global.mocks = {
$t: key => key, // i18n Mock
$router: {
push: vi.fn(),
replace: vi.fn(),
},
}
// Mock localStorage
const localStorageMock = {
getItem: vi.fn(),
setItem: vi.fn(),
removeItem: vi.fn(),
clear: vi.fn(),
}
global.localStorage = localStorageMock
// Mock Taro API
global.Taro = {
getStorage: vi.fn(),
setStorage: vi.fn(),
removeStorage: vi.fn(),
getStorageSync: vi.fn(() => ''),
setStorageSync: vi.fn(),
removeStorageSync: vi.fn(),
navigateTo: vi.fn(),
redirectTo: vi.fn(),
switchTab: vi.fn(),
navigateBack: vi.fn(),
showToast: vi.fn(),
showLoading: vi.fn(),
hideLoading: vi.fn(),
showModal: vi.fn(),
showActionSheet: vi.fn(),
createSelectorQuery: vi.fn(() => ({
select: vi.fn().mockReturnThis(),
exec: vi.fn(callback => callback([])),
})),
request: vi.fn(),
getLocation: vi.fn(),
chooseImage: vi.fn(),
previewImage: vi.fn(),
uploadFile: vi.fn(),
downloadFile: vi.fn(),
login: vi.fn(),
getUserInfo: vi.fn(),
openSetting: vi.fn(),
getSystemInfo: vi.fn(),
getSystemInfoSync: vi.fn(() => ({
model: 'iPhone',
system: 'iOS 14.0',
platform: 'ios',
})),
}
// Mock wx API
global.wx = {
getStorageSync: vi.fn(() => ''),
setStorageSync: vi.fn(),
removeStorageSync: vi.fn(),
request: vi.fn(),
login: vi.fn(),
getUserInfo: vi.fn(),
}
// Mock axios
vi.mock('axios-miniprogram', () => ({
default: {
create: vi.fn(() => ({
interceptors: {
request: { use: vi.fn() },
response: { use: vi.fn() },
},
get: vi.fn(),
post: vi.fn(),
})),
},
}))