赛普拉斯组件测试不适用于可组合物 VueUse - “未定义参考”

Posted

技术标签:

【中文标题】赛普拉斯组件测试不适用于可组合物 VueUse - “未定义参考”【英文标题】:Cypress component testing does not work with composables VueUse - "ref is not defined" 【发布时间】:2021-07-22 07:47:02 【问题描述】:

由于某种原因,VueUse 打破了我在 Cypress component testing 中的测试。无论我使用什么可组合,它都会抛出错误 > ref is not defined> watch is not defined。我检查了来源并注意到 vueuse 在后台使用了vue-demi,并且所有问题都与从 vue-demi 导入有关。但是我尝试单独从 vue-demi 导入一些东西,它可以工作,所以我很困惑为什么它会与 vueuse 一起崩溃。

我的设置 Vue 3 + Vite。 复现:https://github.com/chojnicki/vitesseVitesse starter 模板已经有Vue3/Vite和VueUse,所以我刚刚添加了Cypress,运行yarn cypress run-ct后出现同样的错误@

我厌倦了在代码沙箱上实现这一点,但由于缺少系统库,赛普拉斯无法在那里工作。

这是一个错误还是我在这里遗漏了什么?

日志:

 at Object.ref (http://localhost:35783/__cypress/src/node_modules/.vite/@vueuse_core.js?v=9e0ceea7:94:17)
    at useMediaQuery (http://localhost:35783/__cypress/src/node_modules/.vite/@vueuse_core.js?v=9e0ceea7:1152:41)
    at usePreferredDark (http://localhost:35783/__cypress/src/node_modules/.vite/@vueuse_core.js?v=9e0ceea7:1379:11)
    at useDark (http://localhost:35783/__cypress/src/node_modules/.vite/@vueuse_core.js?v=9e0ceea7:1383:26)
    at <unknown> (http://localhost:35783/__cypress/src/src/logic/dark.ts:2:24)
From previous event:
    at Object.runScripts (http://localhost:35783/__cypress/runner/cypress_runner.js:159792:22)
    at $Cypress.onSpecWindow (http://localhost:35783/__cypress/runner/cypress_runner.js:149271:19)
    at <unknown> (http://localhost:35783/__cypress/src/@fs//home/chojnicki/vitesse/node_modules/@cypress/vite-dev-server/client/initCypressTests.js:22:18)

【问题讨论】:

【参考方案1】:

根据此处的文档:

https://docs.cypress.io/guides/component-testing/introduction#Experimental

缺少vitesse支持

【讨论】:

以上是关于赛普拉斯组件测试不适用于可组合物 VueUse - “未定义参考”的主要内容,如果未能解决你的问题,请参考以下文章

未捕获的错误:useNavigate() 只能在赛普拉斯单元测试用例中的 <Router> 组件的上下文中使用

如何使用赛普拉斯测试文件输入?

如何使用赛普拉斯访问React组件的本地状态?

赛普拉斯:组合键

赛普拉斯 Github 操作失败

赛普拉斯可以运行在赛普拉斯文件夹之外导入的测试文件吗?