【问题标题】:There's any workaround for testing components with `Vue.extend` and vue-i18n?使用 Vue.extend 和 vue-i18n 测试组件有什么解决方法吗?
【发布时间】:2017-09-20 12:54:19
【问题描述】:

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

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

警告示例:WARN: '[vue-i18n] Cannot translate the value of keypath 'input.required'. Use the value of keypath as default.'

因为我们已经有很多使用这种模式的测试:https://vuejs.org/v2/guide/unit-testing.html#Writing-Testable-Components

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

【问题讨论】:

  • 这个有什么消息吗?

标签: javascript vuejs2 karma-mocha vue-i18n


【解决方案1】:

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

【讨论】:

  • 我确实这样做了,但是控制台不断发出警告,所以我提高了 karma/chrome 上的日志级别,这样它就不会淹没控制台。测试通过,因为它可以比较回退词(例如“config.email”)。但是感谢您的回答,我将尝试进行更多测试并查看行为:)
猜你喜欢
  • 2020-10-16
  • 2017-04-04
  • 2016-10-19
  • 2021-06-26
  • 2019-03-20
  • 2019-04-19
  • 2019-05-27
  • 1970-01-01
  • 2022-07-16
相关资源
最近更新 更多