javascript - 使用 `Vue.extend` 和 vue-i18n 测试组件有什么解决方法吗?

标签 javascript vuejs2 karma-mocha vue-i18n

当我们开始我们的项目时,我们没有使用 vue-i18n,但是我们在使用这个插件时遇到了一些问题,它在我们的 karma+mocha 测试中抛出了一些警告,所以我在 github 上发现了这个与以下相关的问题Vue.extend方法:

https://github.com/kazupon/vue-i18n/issues/200

警告示例:警告:'[vue-i18n] 无法转换 keypath 'input.required' 的值。使用 keypath 的值作为默认值。'

因为我们已经使用此模式进行了大量测试:https://v2.vuejs.org/v2/guide/unit-testing.html#Writing-Testable-Components

我想知道,是否有任何解决方法可以使用 Vue.extend 和 vue-i18n 正确测试组件?

最佳答案

默认区域设置是“en-US”,因此如果组件中的 i18n 消息具有“en-US”,则不会出现警告。否则,您可以使用 childComp.i18n.locale = "en" 在测试用例之前将区域设置设置为“en”。我仍在寻找更好的方法来消除警告。

关于javascript - 使用 `Vue.extend` 和 vue-i18n 测试组件有什么解决方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46322663/

相关文章:

javascript - 以样式格式选择所有或部分父/子复选框

typescript - Vue.js 路由器不调用 beforeRouteUpdate( typescript )

webpack - 如何使用 vue-cli 初始化项目后添加 Karma+Mocha 测试

javascript - 无法使用 Karma 运行测试

javascript - Jasmine Angular 单元测试 'Cannot read ' 未定义的属性

java - 在 Eclipse 中将 JavaScript 项目与 Java 项目链接起来

javascript - 在 Angular 2 中使用 SailsJS sails.io

vuejs2 - VUE CLI-3 项目不适用于 IE-11

javascript - 在 foreach 循环中遍历一个元素并从值中提取首字母缩写词,然后将另一个元素的值设置为派生的首字母缩写词

javascript - Vue 组件回收导致 watch 意外起火