问题标签 [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 投票
2 回答
3270 浏览

vue.js - 测试 Vue 组件 - 模拟状态和方法

我一直在尝试对 Vue 组件进行单元测试,但我似乎无法完全弄清楚如何模拟/存根存储调用 API 异步的对象和方法。

这是我们拥有的 Vue 组件的示例:

}

这就是我要写的测试。如果不实际尝试断言任何内容,我什至无法让测试干净地运行

我倾向于返回的错误是关于未定义的项目,通常在这种情况下$store.dispatchundefined. 我觉得我在某处的嘲笑中遗漏了一些东西,或者getUsers()被召唤到坐骑上的事实正在绊倒它。

0 投票
1 回答
3235 浏览

javascript - Vue-test-utils 包装器未定义

我在 Jest 中有以下用于组件的测试套件。我已经成功地为遵循类似结构的其他几个组件编写了单元测试:

通过检查,被挂载的组件、存储和 localVue 实例是明确定义的。

0 投票
1 回答
3895 浏览

vue.js - vue.js test-utils 如何在挂载的生命周期钩子中测试函数

在以下组件中,我想测试 mount() 钩子中的函数(模拟它们)

联系表单.vue

以下规格测试失败,因为我不知道如何模拟这两个函数:appValidationDictionarySetup() 和 $validator.localize() 任何反馈表示赞赏..(我应该测试它吗?...也许是第一个提示)

ContactForm.spec.js

控制台日志

更新

我试过了 :

但它失败并显示以下错误消息

更新 2

我不知道这样做是否正确,但我更新了 mount() 测试以检查是否将 validator.locale 设置为存储值并且没关系..;是否足以进行测试?

控制台日志

0 投票
1 回答
1225 浏览

vue.js - vue.js test-utils 为什么我的 onSubmit 函数 mock 没有被调用?

我正在尝试使用以下规范文件测试提交表单事件:

ContactForm.spec.js

但是这个测试没有通过......

控制台日志

● ContactForm.vue › 点击提交时提交有效表单

这里是要测试的组件vue

联系表单.vue

欢迎反馈...

0 投票
1 回答
646 浏览

javascript - 使用 Firebase 时应该如何测试 vue 组件?

我正在为使用 firebase 的 vue 项目编写单元测试。测试使用 vue-test-utils。

问题是我在尝试绕过身份验证时遇到了麻烦,每次测试我都发现自己在做这样的事情。

我的问题是。测试使用 firebase 的 vue 组件的推荐方法是什么,以及如何避免每次测试都必须登录?

希望我正确解释了我的问题!

我最终这样做了,因为就我而言,这样做一次就足够了。

0 投票
1 回答
816 浏览

vue.js - 测试使用过滤器的 vue 组件

我有以下组件:

以及下面的测试,用 karma/jasmine 和 vue-test-utils 编写。

如果我执行测试,我会收到以下错误:

"message": "afterAll 中抛出一个错误\nTypeError: __WEBPACK_IMPORTED_MODULE_0_vue___default.a.filter(...) is not a function\n

如果我删除组件中使用的过滤器,则测试通过。

为什么 Vue.filter 不是一个函数,尽管我将它添加到测试中?什么是正确的方法?

提前致谢

0 投票
1 回答
2888 浏览

unit-testing - 如何在 vue-test-utils 和 jest 中使用动态导入测试组件

我正在测试一个动态导入子组件的组件。这是该部分的屏幕截图

在 Parent.vue 内部

在 Parent.vue 内部

错误

在此处输入图像描述

它适用于正常导入,但不适用于动态异步导入。任何人都可以帮助配置 Jest 以支持异步组件导入吗?

0 投票
2 回答
3557 浏览

vue.js - 使用 vue-test-utils 配置过滤器

我们如何使用全局应用的过滤器配置组件安装?我认为这将是传递给createLocalVue的一些选项,但我在文档中没有看到它。

使用全局过滤器时,我在运行套件时在控制台中收到以下警告:

wrapper.html() 处的字符串包含预先计算的值,但未应用过滤器,例如

还是

过滤器在浏览器中工作,它作为一个函数自行测试,但我不想发送带有警告的代码。

0 投票
1 回答
2128 浏览

javascript - 如何让 localStorage 在 vue 测试中工作

我正在尝试测试 vue 组件。

我有一个使用vuex. 我的状态存储在store.js其中使用localStorage. 但是,当我运行时,npm test我收到错误消息:

WEBPACK 9416ms 编译成功

摩卡测试...

RUNTIME EXCEPTION 加载测试时发生异常

ReferenceError: localStorage 未定义

我用于测试的工具: @vue/test-utils、expect、jsdom、jsdom-global、mocha、mocha-webpack


我如何运行测试:

样本测试order.spec.js

setup.js文件中,我正在像这样加载 jsdom:

我该如何解决?

0 投票
3 回答
1950 浏览

unit-testing - Vue-test-utils | Jest:如何处理依赖关系?

情况:

我正在我的 Vue 应用程序中实现单元测试,使用带有 Jest 配置的 vue-test-utils。

当我测试简单的组件时,一切都很好。但是当我测试导入其他依赖项的组件时,测试失败。

配置:

Vue 版本:2.5.17
@vue/test-utils:1.0.0-beta.20
cli-plugin-unit-jest:3.0.3
babel-jest:23.0.1

错误信息:

确切的错误消息取决于我要导入的依赖项。

例如对于史诗旋转器,错误是:

在此处输入图像描述

使用vue-radial-progress的错误是:

在此处输入图像描述

如何复制:

  • 重新安装 vue(使用 Jest 作为单元测试套件)
  • 运行示例测试,它应该通过
  • 安装依赖项(例如npm install --save epic-spinners:)
  • 在 HelloWorld 组件中导入依赖
  • 再次运行测试(不做任何更改)

如果我执行这些步骤,测试将失败并显示上述错误消息。

问题:

如何处理 vue-test-utils / Jest 中的依赖项导入?