常见问题解答
使用 Vitest 模拟日期和计时器
Vue 的调度程序依赖于系统时间。确保在调用 vi.setSystemTime
之后 挂载组件,因为 Vue 依赖于其副作用。在调用 vi.setSystemTime
之前挂载组件可能会导致反应性中断。
Vue 警告:设置道具失败
[Vue warn]: Failed setting prop "prefix" on <component-stub>: value foo is invalid.
TypeError: Cannot set property prefix of #<Element> which has only a getter
如果您使用 shallowMount
或 stubs
以及与 Element
共享的属性名称,则会显示此警告。
与 Element
共享的常见属性名称
属性
孩子
前缀
请参阅:https://mdn.org.cn/en-US/docs/Web/API/Element
可能的解决方案
- 使用
mount
而不是shallowMount
来渲染而不使用存根 - 通过模拟
console.warn
来忽略警告 - 重命名道具以避免与
Element
属性冲突