问题标签 [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.
vue.js - mocha 以编程方式设置 vue 错误处理程序
我发现自己在 mocha 中几乎所有的单元测试开始时都在写这个:
默认情况下,Vue 自己捕获所有错误并将它们记录到控制台,因此 mocha 看不到它们。此代码确保抛出的错误无法通过测试。
mocha 有没有办法做到这一点,而不必用这行代码开始每一个异步测试?如果我必须编写/使用插件,那很好。
javascript - Vue 测试工具:安装了 TypeError
我遇到了 Vue Test Utils 的问题。当我运行单元测试时,我总是会遇到:
TypeError{line: 73983, sourceURL: ' http://localhost:9876/base/index.js?045b00affe888fcd6b346c4fe50eadd13d471383 ', stack: 'mounted@ http://localhost:9876/base/index.js?045b00affe888fcd6b346c4fe50eadd13d471383:7:7 ......
这只发生在我在 Vue 组件中有mounted() 函数时
设置.vue
Settings.spec.js
我正在使用Mocha & Chai和vue-test-utils。有谁知道为什么会这样?
先感谢您!
更新
Settings.vue组件HTML
Settings.vue组件Javascript
node.js - 无法使用 vue-test-utils 单击 Vue 选择框
我似乎无法使用 vue-test-utils 和 Vue 2 “单击”这些选择框。我使用的是 mocha + webpack。
我通过看到visible-change
事件从未像点击时那样触发来确定这一点。这是我的规范文件的样子:
如果这不起作用,作为最后的手段,我必须手动更改model
属性以模拟组件更改。
- - 更新 - -
当我为点击事件设置回调时,我看到了一些东西,但我无法在这个选择输入组件中“选择”任何东西。
vue.js - vue-test-utils:Vue 子组件方法“不是函数”
在这个测试中,我只是试图断言该end
属性是在被测组件上设置的(DateRangeEditor
)。该组件假定this.$refs.datepicker
是一个实例HotelDatepicker
并调用它的setCheckOut
和setCheckIn
方法(如果有更好的方法可以做到这一点,请告诉我!)。
该组件在浏览器中正常加载时工作,但我的测试setEndDate
失败并出现“TypeError:this.$refs.datepicker.setCheckIn is not a function”。
我是否误解了该stubs
选项应该做什么设置?我认为像这样的场景,调用代码只需要调用存根函数而不需要特定的结果,正是存根的用途。我只是用错了吗?
这是我的测试:
这是我的(非常简化的)DateRangeEditor
组件:
最后,这是我的 setup.js 引导文件:
版本 n 东西
- @vue/test-utils ^1.0.0-beta.10
- Vue ^2.4.4
unit-testing - 如何在 $route 上对 VueJS 观察器进行单元测试
我正在测试一个使用 vue 路由器观看 $route 的单文件组件。问题是我无法让测试既改变路线又触发观察者的功能。
测试文件:
我在证监会的观察方法:
您如何模拟路由器以使您可以观看它并测试 watch 方法是否按预期工作?
vue.js - 使用 moxios 和 fakeTimers 测试去抖动的异步请求
我正在尝试以去抖方法测试 axios 调用,但如果我添加假计时器, moxios.wait() 总是会超时。如果去抖时间设置得足够小(例如 10 毫秒),则测试可以在没有时钟的情况下进行,但这无助于测试正确的去抖。我已经尝试过使用 Vue.nextTick 以及对 it() 进行异步回调,但我似乎只是进一步深入杂草。这里的正确方法是什么?
这是一个组件和一个测试,它显示了问题:
unit-testing - 如何测试 Vue 组件是否响应 $root 发出的事件?
我有一个组件可以监听 Vue $root 实例发出的事件。
我还有另一个地方是我调用该事件的代码。
如何编写一个在 $root 上调用该事件并断言该事件已被调用的单元测试?我正在使用 Vue 测试工具https://vue-test-utils.vuejs.org/en/并且找不到调用事件的方法。
我试过这个,但它不起作用。
vue.js - 测试 Vee-Validate 确认规则
我在使用 Vuetify 构建的 Vue 表单上测试 Vee-Validate 确认功能时遇到了一些困难。我要测试的组件如下所示:
以上工作正常,错误消息正确显示在屏幕上并在密码匹配时删除,但以下测试失败:
从上面的代码可以看出,虽然密码和确认密码字符串匹配,但验证器仍然将确认密码字段标记为有错误。我不明白为什么会这样,但我们将不胜感激。
vue.js - 如何对将 DOM 元素附加到 HTML 正文的 Vue 组件进行单元测试?
我有一个 Vue 2.0 组件,它使用来自Vuetify的 Menu 组件。我正在使用官方的vue-test-utils在测试期间挂载我的组件。
我面临的问题是菜单组件将“菜单”附加到 HTML 正文(在组件范围之外)。因此,我无法wrapper.find('.menu')
像使用组件中的任何其他元素一样访问它。
有没有一种使用 vue-test-utils 访问附加到正文的元素的好方法?
更新
此时我的组件看起来非常像这个Vuetify codepen 示例
我像这样安装我的组件:
vue.js - 如何在 vue-test-utils 中获取按钮文本
如何从找到的元素中检索按钮文本vue-test-utils
?我正在使用 v1.0.0-beta.10
例如,在我的 vue 文件中,我有一个按钮,例如:
然后在我的测试中:
我得到一个空对象。更好的是,如何根据按钮文本直接查询该 Vue 组件?