Круговые зависимости - это один из способов насмешки дочерних функций внутри родителя в Jest.js. Я видел примеры ES6 о том, как использовать циклический импорт, но у меня возникли проблемы с переводом этого в синтаксис ES5 с использованием require. Вот что у меня есть:
const currentFile = require('./targetFile.js');
const a = () => {
return currentFile.b();
};
const b = () => {
return 'from b'
};
module.exports = { a, b }
Затем я пытаюсь запустить приведенный выше код в файле тестера, который требует вышеуказанного в качестве targetFile:
const targetFile = require("../targetFile.js");
test('a and b', () => {
console.log(targetFile.a(), `=====targetFile.a()=====`);
});
FAIL views/admin/__tests__/targetFile.test.js
✕ a and b (12ms)
● a and b
TypeError: currentFile.b is not a function
26 |
27 | const a = () => {
> 28 | return currentFile.b();
| ^
29 | };
30 |
31 | const b = () => {
Какой правильный синтаксис для вышеуказанного использования требуется (или другой синтаксис, совместимый с браузером ES5)?