В настоящее время я создаю приложение Electron, которое использует React для создания интерфейса. Чтобы получить доступ к фс, я использовал:
const fs = window.require('fs');
Что отлично работает в электронном окне.
Проблема в том, что когда я пишу шутливые тесты для любых компонентов, которые используют window.require ('fs'), я получаю следующую ошибку при запуске теста.
TypeError: window.require is not a function
Я просмотрел документацию для Jest, и кажется, что решение состоит в том, чтобы сгенерировать макет окна с помощью ручного макета (см. «Методы насмешек, которые не реализованы в JSDOM» на https://jestjs.io/docs/en/manual-mocks). Однако, когда я попытался смоделировать window.require, добавив вверху мой тестовый файл
window.require = jest.fn();
Я все еще получаю ту же ошибку TypeError.
Я очень новичок в создании шуток Jest, поэтому любая помощь с этим будет высоко ценится.
Мой текущий тестовый файл (Component.test.js) выглядит как
window.require = jest.fn();
import React from 'react';
import renderer from 'react-test-renderer';
import Component from '../index';
describe('Testing', () => {
it('Component renders correctly', () => {
const component = renderer.create(<Component />);
let tree = component.toJSON();
expect(tree).toMatchSnapshot();
});
});