使用 next-translate 和 i18n 测试组件

问题描述

在我们的 Next.js 应用中,我们使用 vinissimus/next-translate 包进行翻译。 我们进行了相应的设置:

next.config.js

const nextTranslate = require('next-translate')
module.exports = nextTranslate()

i18n.js 配置文件

{
  "locales": ["en"],"defaultLocale": "en","pages": {
    "*": ["en"],"/": ["en"],}
}

通过 useTranslation 钩子在组件内部使用它:

const App = () => {
  const { t,lang } = useTranslation();

  return (
    <Homepage>
          <span>{t(`${lang}:homepage.title.header`)}</span>
    </Homepage>

我的问题是如何用 react-testing-library 开玩笑地测试它?

当我在测试中渲染我的组件时,翻译不起作用,只返回密钥。另外,我想通过 getByText / findByText 测试它并通过:

{t(`${lang}:homepage.header`)}

如果我没有在应用中使用任何 i18nProvider 而只使用这个 i18n.js 配置,我该如何设置某种包装器或配置来进行测试? >

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)