在单元测试中抑制 Vue 警告

2023-12-23

我试图按照此处列出的配置在测试中抑制警告:https://vue-test-utils.vuejs.org/api/config.html#silent https://vue-test-utils.vuejs.org/api/config.html#silent,如下:

import { config } from '@vue/test-utils';

// this should actually be the default but the default is not working
config.silent = true;

但是,我仍然在测试结果中看到警告:

  TheQueue
✓ should show the queue bar if there are items queued
✓ should show the correct count of queued items in queued bar
[Vue warn]: Avoid mutating a prop directly since the value will be 
overwritten whenever the parent component re-renders. Instead, use a 
data or computed property based on the prop's value. Prop being 
mutated: "mdTemplateData"

found in

---> <MdTab>
       <MdContent>
         <MdTabs>
           <MdDrawer>
             <TheQueue> at src/components/the-queue/TheQueue.vue
               <Root>

值得注意的是,我在正常使用该应用程序时没有看到此错误。这仅在测试中弹出(否则我会尝试修复实际建议的问题)。

我在这里做错了什么以及为什么我不能抑制这些警告?或者我误解了什么silent应该做什么?


根据 VueJS 文档 -https://vue-test-utils.vuejs.org/api/config.html#silent https://vue-test-utils.vuejs.org/api/config.html#silent

silent

类型:布尔值

默认值:true

它会在更改组件时抑制 Vue 触发的警告 可观察量(例如 props)。设置为 false 时,所有警告均可见 在控制台中。这是一种可配置的方式这依赖于 Vue.config.silent.

它依赖于 Vue.config.silent,所以你需要做的就是导入vue打包并设置它的config.silent to false

import Vue from `vue`
Vue.config.silent = true;

我在我的 Github 上放了一个工作示例,它只是官方示例的一个分支,但在测试期间不会显示警告。

https://github.com/al1b/vue-test-utils-getting-started https://github.com/al1b/vue-test-utils-getting-started

了解更多信息:

如果您检查源代码 https://github.com/vuejs/vue/blob/38e967b8067441ff37cb3b923200023a6b842759/src/core/util/debug.js#L23:

  warn = (msg, vm) => {
    const trace = vm ? generateComponentTrace(vm) : ''

    if (config.warnHandler) {
      config.warnHandler.call(null, msg, vm, trace)
    } else if (hasConsole && (!config.silent)) {
      console.error(`[Vue warn]: ${msg}${trace}`)
    }
  }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在单元测试中抑制 Vue 警告 的相关文章

随机推荐

  • 更改 UISegmentedControl 的字体大小

    谁能告诉我如何更改字体类型和大小UISegmentedControl 我遇到了同样的问题 此代码设置整个分段控件的字体大小 类似的东西可能适用于设置字体类型 请注意 此功能仅适用于 iOS5 Obj C UIFont font UIFont
  • ChartJS 禁用图表区域外的网格线

    我试图隐藏在图表区域之外绘制的网格线 所以基本上类似于下面的选项 但对于图表区域之外 gridLines drawOnChartArea false 想必您正在寻求禁用刻度线 这可以通过drawTicks财产 new Chart docum
  • ASP.NET MVC2 中的单用户登录非常简单?

    我正在构建我的网站 并且我想限制我的网站的一部分 管理部分 正常公开显示 我正在使用 LINQ 进行数据库访问 我有一个 Service 类来处理通过 LINQ 对数据库的调用 我的整个网站都在运行 除了登录部分 到目前为止我已经only能
  • 隐藏和显示 TableLayoutPanel 的单元格

    我的表格布局面板有一列三行 一个停靠在每个单元格的 填充 面板上 现在我希望能够隐藏 显示行 我希望任何时候都只显示一行 基于用户对某些单选按钮的选择 并且我希望调整大小以使其填充 TableLayoutPanel 的所有区域 我怎样才能做
  • Haskell 中的异常处理

    我需要帮助来理解三个 Haskell 函数的用法 try Control Exception try Exception e gt IO a gt IO Either e a catch Control Exception catch Ex
  • AngularJS 中使用 q 的多个链式延迟函数停止返回数据

    我试图将多个延迟函数调用链接在一起 以便下一个调用可以获得前一个 deferred resolve 的结果 当我将两个以上的调用链接在一起时 数据将停止返回 这是角度控制器内的基本代码 scope runAsync function var
  • 不同应用程序的相同密钥库[重复]

    这个问题在这里已经有答案了 我对所有已发布的应用程序始终使用相同的密钥库和相同的别名密钥 这是一个正确的选择 或者我应该为每个发布的应用程序使用不同的别名吗 我还没有找到有关正确使用密钥库的真正明确的信息 密钥库文件或应用程序的签名表示某些
  • Helm 3.0.2 试运行 + 稳定/prometheus-operator?这应该有效吗?

    使用 Helm v3 0 2 新的 Kubernetes v1 14 9 集群 仅供参考 我已经添加了稳定的存储库 helm repo add stable https kubernetes charts storage googleapi
  • JavaScript 将 HTML 表格导出到 Excel

    我需要 JavaScript 将 HTML 表格导出到 Excel 我已经尝试过这个脚本 但它只导出一张表
  • Laravel Eloquent ORM 中的自然 ORDER

    我如何在 Eloquent ORM 中获得 自然顺序 在表中我有 文本 列 字符串 正常顺序 Model orderBy text value 1 value 12 value 23 value 3 value 8 我需要这个 value
  • 运行 django 本地服务器时出错:`__init__() 得到意外的关键字参数 'tcp_nodelay'`

    一切都很好并且始终运行没有问题 现在 当我从浏览器加载应用程序时出现错误 似乎与代码无关 因为我跳到了最旧的分支上 并且得到了相同的错误 这是我的 python 和 django 版本 python version Python 3 6 0
  • 进行带有超时的 EJB 调用

    我有一个EJBA调用 EJBB UI 等待响应的时间不应超过 30 秒 如果某些数据丢失 它应该返回部分响应 如何在 EJB 上定义超时 30 秒的时间限制 B 我可以定义EJBB as Asynchronous返回Future 然后做Fu
  • 如何将嵌入/嵌套 FormGroup 转换为 FormData

    这是我的表格组 this shopGroup this fb group user name Validators compose Validators required Validators maxLength 60 url name d
  • C# - 文件关联对注册表项“HKEY_CLASSES_ROOT\”的访问被拒绝

    我目前有一个使用注册表设置文件关联的程序 注意 它是 NET 2 0 所以我必须通过注册表方法 问题是 由于它正在尝试写入 HKCR 因此可能会遇到管理问题 在其他计算机上 是否有更通用的方法来设置文件关联 对于 NET 2 0 例如使用
  • 无法将本地更改推送到现有远程分支

    有一个名为 my remote 的远程分支 我之前已毫无问题地推送到该分支 截至今天 我无法推动并且出现不同的错误 我得到的第一个错误是 hint Updates were rejected because a pushed branch
  • 无法文本对齐:CSS 居中

    我似乎无法将 主页 按钮置于中央 主文本位于左侧而不是中心 我的 htm 和 css 链接如下 html h1 Bully Free Zone h1 h2 Online harassment has an off line impact h
  • 打字稿 |每次调用函数时都会调用一个函数

    我正在尝试编写 Typescript API 服务 对于该服务 我需要一种方法来检查该方法是否存在 例如函数get叫做 我意识到我可以这样做 get endpoint string this handleRequest post endpo
  • 调整 UIWebView 文本大小

    我试图让用户调整给定网页的文本大小 我在 Xcode 6 中使用 Swift HTML 文件 h1 My First Heading h1 My first paragraph 这是我调用的快速函数来尝试更改大小 func changeWe
  • 如何使用Monitor(DDMS)工具调试应用程序

    这些天我正在将开发环境从 Eclipse 切换到 Android Studio 我真的很喜欢它的自动完成功能以及这个 IDE 提供的许多其他功能 但是 我在调试时遇到了一些问题 我希望使用这个IDE提供的Monitor工具 自带的DDMS和
  • 在单元测试中抑制 Vue 警告

    我试图按照此处列出的配置在测试中抑制警告 https vue test utils vuejs org api config html silent https vue test utils vuejs org api config htm