Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yd-csf-h5
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
jianan
yd-csf-h5
Commits
348621fe
Commit
348621fe
authored
Nov 02, 2026
by
Sweet Zhang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix(test): 单测环境不加载 dev 面板,消除 jsdom XHR 报错噪音
parent
a7ad962a
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
7 additions
and
7 deletions
+7
-7
src/App.vue
+6
-2
src/__tests__/App.spec.ts
+1
-5
No files found.
src/App.vue
View file @
348621fe
...
...
@@ -7,12 +7,16 @@ import LoginBadge from '@/components/feature/LoginBadge.vue'
const
route
=
useRoute
()
const
{
t
}
=
useI18n
()
// 生产构建中 import.meta.env.DEV 被替换为 false,死分支连同动态导入一起被 tree-shake
// 生产构建中 import.meta.env.DEV 被替换为 false,死分支连同动态导入一起被 tree-shake。
// 单测(vitest)下 DEV 同样为 true,若不排除,dev 面板会在测试里真实发起后端请求,
// jsdom 连不上后端会产生 XHR 报错噪音,因此按 MODE 一并排除。
const
enableDevPanel
=
import
.
meta
.
env
.
DEV
&&
import
.
meta
.
env
.
MODE
!==
'test'
// dev 面板加载失败(vite 重启、依赖重优化、跨机器网络抖动)时降级渲染为空,
// 不再抛出「Failed to fetch dynamically imported module」的未捕获异常。
const
DevFallback
=
defineComponent
({
render
:
()
=>
null
})
const
DevBrokerSwitcher
=
import
.
meta
.
env
.
DEV
const
DevBrokerSwitcher
=
enableDevPanel
?
defineAsyncComponent
({
loader
:
()
=>
import
(
'@/components/dev/DevBrokerSwitcher.vue'
),
timeout
:
10
_000
,
...
...
src/__tests__/App.spec.ts
View file @
348621fe
...
...
@@ -12,11 +12,7 @@ vi.mock('@/utils/oidc', () => ({
signoutRedirect
:
vi
.
fn
()
}))
// 测试环境里 import.meta.env.DEV 同样为 true,App 会真的加载 dev 面板并发起请求,
// jsdom 无法连接后端地址,会产生 XHR 的 AggregateError 噪音。这里隔离掉。
vi
.
mock
(
'@/components/dev/DevBrokerSwitcher.vue'
,
()
=>
({
default
:
{
render
:
()
=>
null
}
}))
// dev 面板在 App.vue 里已按 MODE !== 'test' 排除,无需在此 mock
import
App
from
'../App.vue'
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment