У меня есть реактивный проект, и я включил зависимости i18next = 15.0.4 и Reaction-i18next = 10.2.0. Я создал модуль для инициализации i18next с помощью activ-i18next, и я пытаюсь выполнить модульное тестирование этого кода с помощью Jest.
Я попытался импортировать свой модуль i18n, который инициализирует i18next, и тестировать его модулем с помощью jest.
Вот мой модуль для i18n.ts
import i18next from "i18next";
import { initReactI18next } from "react-i18next";
const config = {
resources: {
en: {
static: {},
},
},
fallbackLng: "en",
defaultNS: "static",
ns: "static",
interpolation: {
prefix: "[",
suffix: "]",
},
};
i18next.use(initReactI18next).init(config);
export default i18next;
И я пытаюсь вызвать его из моего тестового кода следующим образом (i18n.test.ts):
import i18n from "./i18n";
describe("i18n", () => {
it("should work fine", () => {
const strings = {
key: "value",
};
i18n.addResourceBundle("en", "static", strings, true, true);
});
});
Я ожидаю, что этот тест пройдёт, но вместо этого я получаю следующую ошибку:
TypeError: Cannot read property 'type' of undefined
at I18n.use (node_modules/i18next/dist/commonjs/i18next.js:257:18)
Что в основном указывает на этот код в i18next.js
value: function use(module) {
if (module.type === 'backend') {
this.modules.backend = module;
}
Как я могу исправить эту проблему?