У меня есть довольно простой компонент React с функциями интернационализации, реализованными с помощью i18next. Версия i18next, которую я использую, - 11.9.0, а версия react-i18next, которую я использую, - 8.1.0. Компонент (и спецификации) выглядит примерно так:
TestComponent.component.js
import React, { Component } from "react";
import { I18n } from "react-i18next";
export class TestComponent extends Component {
render() {
return (
<I18n ns="translations">
{ t => (
<p>
{t('test')}
</p>
)}
</I18n>
);
}
}
export default TestComponent;
TestComponent.component.spec.js
import React from "react";
import { I18n } from "react-i18next";
import { shallow } from "enzyme";
import TestComponent from './TestComponent.component';
describe('TestComponent', () => {
describe('Snapshot Test', () => {
it('it matches snapshot', () => {
const wrapper = shallow(<TestComponent />);
wrapper.instance().render();
expect(wrapper.instance()).toMatchSnapshot();
});
});
});
Я пытаюсь протестировать этот компонент с помощью снимков Jest, но когда я проверяю покрытие кода для этого компонента, он показывает, что функция t не достигается средством проверки покрытия.
Я полагаю, что это можно решить, издевавшись над I18n, но ни один из примеров, которые я нашел в Интернете, не решил мою проблему.
Может ли кто-нибудь дать некоторое представление о том, почему средство проверки покрытия не достигает здесь функции t? Что нужно сделать, чтобы увеличить покрытие для такого компонента?