У меня есть такая структура проекта:
/
__tests__/
test.spec.js
a./
a.js
b/
b.js
c/
c.js
app.js
index.js
И в этом a.js
const b = require("../b/b")
c = require("../c/c");
function a() {
b();
c();
}
module.exports = a;
Обратите внимание на пропущенную запятую в конце первой строки .
Теперь этот код работает нормально при запуске node index.js
Теперь в моем тесте мне, в основном, требуется ../app
для запуска всего этого.
FAIL __tests__/test.spec.js
● Test suite failed to run
ReferenceError: c is not defined
1 | const b = require("../b/b")
> 2 | c = require("../c/c");
| ^
3 |
4 |
5 | function a() {
at Object.<anonymous> (a/a.js:2:3)
at Object.<anonymous> (app.js:1:11)
Test Suites: 1 failed, 1 total
Теперь, если я добавлю эту запятую, она будет работать нормально.
Есть идеи, почему это так? Это ошибка с шуткой?
Полное воспроизведение здесь:
https://github.com/dwjohnston/jestrequireissue
npm i
node index.js #works fine
npm test #fails