Vue / Vitest:具有动态导入资产 URL 的快照中的问题

问题描述 投票:0回答:1

我正在将我的项目从 Vue-CLI 和 Jest 迁移到 Vite 和 Vitest。一切都工作正常,直到我试图让我的测试通过詹金斯。我发现由于某些资产路径的原因,某些快照不匹配。

  • 预期:
    src="file:///C:/src/..."
    (这很奇怪,因为这条路径不存在)
  • 已收到:
    src="file:///src/..."

这些资源使用

.vue
导入到我的
return new URL("/src/...", import.meta.url).href
文件中。

当然一切都在本地完美运行。

你知道为什么吗?我该如何解决它?

谢谢!

vue.js url vite snapshot vitest
1个回答
0
投票

编辑:我找到了原因。我在 Windows 上运行本地测试,但在 Linux 上运行 Jenkins 测试。我通过使用

process.env.VITEST
环境变量解决了这个问题:

export function setDynamicUrl(media: string) {
    return process.env.VITEST
        ? media
        : new URL(`/src/assets/${media}`, import.meta.url).href;
}
© www.soinside.com 2019 - 2024. All rights reserved.