问题标签 [vue-test-utils]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1383 浏览

typescript - vue-test-utils error TypeError: Class extends value undefined is not a constructor or null, 当我运行测试时

所以我试图在我的项目中添加 vue-test-utils :

我正在使用 typescript、vue js 和 vue-test-utils/jest

我跟着那个文档:https ://vue-test-utils.vuejs.org/guides/#using-with-typescript

一切都很顺利,但是当我运行测试时,我得到了那个错误:

这是我的 vue 文件:

我的测试文件:

我的包:json:

我昨天搜索并阅读了很多,但我找不到任何解决方案。谢谢你的时间。

0 投票
2 回答
2105 浏览

jestjs - 玩笑因 SyntaxError 失败:意外的令牌 {

我正在使用 vue-test-utils 将 jest 集成到我的 nuxt 应用程序中(遵循 Edd Yerburgh 的新书)。

测试以“SyntaxError: Unexpected token {”开箱即用失败。类似的代码使用 nuxt 构建良好,测试使用 Ava 运行。我假设我的笑话配置有问题。

我已经包含了我的 package.json、代码摘录和控制台。

谢谢你的帮助,

npm 6.4.0

包.json

代码

相关输出

0 投票
1 回答
206 浏览

vue.js - 浅山深一层

我目前正在开发一个 Vue.Js 项目,我们有很多这样编写的模态组件:

所以本质上,我测试的 HTML 逻辑是一层深的,这意味着我不能使用 vue-test-util shallowMount。它只会删除 MyModal 组件。

有没有一种方法可以让我获取 vue 文件本身的纯 HTML?我正在考虑仅解析该<MyModal>...</MyModal>部分并以这种方式对其进行测试:

本质上,我正在寻找getHtmlString()上面的工作方式。

0 投票
2 回答
2099 浏览

unit-testing - vue.js vuetify test-utils 警告:Vue 警告]:无效的道具:道具“src”的类型检查失败。预期字符串,得到对象

使用带有道具的 v-parallax vuetify 来显示资产 URL(这是推荐的 hack..)

我得到正确显示的图像,但运行 test:unit ,我也得到一个警告,因为 v-parallax 需要一个字符串而不是一个对象......测试正确通过(它只是一个警告..),但是在那里摆脱这个警告的方法?

感谢您的反馈

0 投票
1 回答
1010 浏览

unit-testing - vue.js vuetify : test-utils w Jest 如何在使用图标时匹配文本

给定以下生成的html

当我使用 .toEqual Jest 匹配器进行测试时

由于图标,测试失败

如果我使用 .toMatch 观察者,它不会失败

是要编写的正常测试还是要使用 .toEqual 观察者?

注意:我使用了“mount”而不是“shallowMount”,因为我需要从 vuetify 组件生成 html

感谢您的反馈

0 投票
2 回答
892 浏览

unit-testing - 使用 Jest 进行 vue.js 单元测试:我应该模拟 HTLL5 音频元素吗?

测试一个包含 HTML5 元素的 AudioPlayer vue 组件,我想知道如何用 Jest 编写我的规范。

模板

如果我使用以下包装器

我应该如何设置文件属性?(我想从 src/assets/audio/mysong.mp3 传递一个音频文件)

如果我改用 shallowMount,我应该模拟音频元素吗?哪种方式......当音频元素处理播放(),暂停(),静音()......我有点迷茫,我找不到任何与测试此类组件相关的帖子......

0 投票
1 回答
151 浏览

vue.js - 将一个也需要插槽属性的组件传递给插槽

我如何测试带有插槽的组件,例如轮播内部有一个插槽组件,而滑块内部有一个插槽组件。

不支持该功能。

也许我必须使用 e2e 测试?

请告诉我如何做到这一点。谢谢你。

0 投票
2 回答
1728 浏览

unit-testing - vue.js unit:test w test-utils 和 Jest:我如何在方法中测试 - window.open()?

在我的组件 AudioPlayer 中,我有一个 download() 方法:

我可以测试第一行:

但是我该如何测试(我应该吗?第二行:

这是我当前的规范文件测试

感谢您的反馈

0 投票
1 回答
4570 浏览

unit-testing - vue.js test:unit w test-utils & Jest : [vue-test-utils]: wrapper.destroy() 只能在 Vue 实例上调用

为了在我的组件中测试 beforeDestroy() 钩子,我编写了以下规范:

但我收到一个错误,即使在文档中使用了 destroy() ...

[vue-test-utils]: wrapper.destroy() 只能在 Vue 实例上调用

我哪里错了?

感谢您的反馈

0 投票
2 回答
10060 浏览

javascript - 使用 Jest,在 vue.js 中对单个文件组件进行单元测试时,如何监视扩展组件的方法

我目前正在尝试ComponentB使用 Jest 和 vue-test-utils 对单个文件组件 () 进行单元测试。ComponentBextends ComponentA,其中定义了一个方法update(product)

shallowMount()然后,我尝试进行单元测试,并ComponentB尝试在. 测试看起来像这样:jest.spyOnupdate(productData)ComponentA

当我运行这个测试时,我得到一个Cannot spy the update property because it is not a function; undefined given instead.

我不完全确定为什么这不起作用,尽管我确实有一些想法。

首先,因为我是shallowMount()我的ComponentB,它不会知道关于它的父组件的任何事情,因此无法访问update(productData)定义在ComponentA.

其次,也许我没有jest.spyOn()在正确的时间调用,而是应该在创建ComponentB. 但是,我尝试改变它并没有任何成功或不同的行为。

所以我的问题是,当我浅安装被测组件时,如何监视扩展组件提供的方法?