Я пытаюсь протестировать функцию, которая возвращает случайно выбранный компонент React из массива. Ниже, у меня есть массив, который заполнен различными типами компонентов React.
collectionOfComponents = [
<Component1 />
<Component2 />
<Component3 />
<Component4 />
<Component2 />
<Component3 />
...
];
Затем у меня есть функция, которая будет выбирать случайный компонент из массива и возвращать этот компонент, как показано ниже.
export default () => {
const totalNumberOfComponents = collectionOfComponents.length;
const randomComponentIndex = Math.floor(Math.random() * totalNumberOfQuestions);
const randomComponent = collectionOfComponents[randomComponentIndex];
return cloneElement(randomComponent);
};
Я пытаюсь написать модульный тест, чтобы охватить эту функциональность, однако из-за случайно возвращенного компонента React не так просто, как я думал.
Я пытался смоделировать возврат функции, но это не охватывает все строки функции в отчете о покрытии шутов. Ниже я попробовал.
jest.mock('common/services/functionName', () => "Random Component");
it('should return random React component', () => {
expect(functionName).toEqual('Random Component');
});