ReferenceError: Вы пытаетесь «импортировать» файл после разрушения среды Jest: в loadCjsDefault - PullRequest
0 голосов
/ 20 марта 2020

Я тестирую сборку с накоплением, используя jest, который выдает ошибку всякий раз, когда я использую async / await Я понятия не имею, что не так. Я пробовал разные подвиги, и это не работает.


ReferenceError: You are trying to `import` a file after the Jest environment has been torn down.

      at loadCjsDefault (node_modules/@babel/core/lib/config/files/module-types.js:77:18)
      at loadCjsOrMjsDefault (node_modules/@babel/core/lib/config/files/module-types.js:49:16)
          at loadCjsOrMjsDefault.next (<anonymous>)
      at readConfigJS (node_modules/@babel/core/lib/config/files/configuration.js:190:47)
          at readConfigJS.next (<anonymous>)

ReferenceError: You are trying to `import` a file after the Jest environment has been torn down.

      at _parser (node_modules/@babel/core/lib/parser/index.js:9:16)
      at parser (node_modules/@babel/core/lib/parser/index.js:54:18)
          at parser.next (<anonymous>)
      at normalizeFile (node_modules/@babel/core/lib/transformation/normalize-file.js:93:38)
          at normalizeFile.next (<anonymous>)

  ●  Cannot log after tests are done. Did you forget to wait for something async in your test?
    Attempted to log "TypeError: (0 , _parser(...).parse) is not a function
        at parser (D:\projects\js\published\builderz\node_modules\@babel\core\lib\parser\index.js:54:34)
        at parser.next (<anonymous>)
        at normalizeFile (D:\projects\js\published\builderz\node_modules\@babel\core\lib\transformation\normalize-file.js:93:38)
        at normalizeFile.next (<anonymous>)
        at run (D:\projects\js\published\builderz\node_modules\@babel\core\lib\transformation\index.js:31:50)
        at run.next (<anonymous>)
        at Object.transform (D:\projects\js\published\builderz\node_modules\@babel\core\lib\transform.js:27:41)
        at transform.next (<anonymous>)
        at evaluateSync (D:\projects\js\published\builderz\node_modules\gensync\index.js:244:28)
        at Object.sync (D:\projects\js\published\builderz\node_modules\gensync\index.js:84:14) {
      code: 'PLUGIN_ERROR',
      plugin: 'babel',
      hook: 'transform',
      id: 'D:\\projects\\js\\published\\builderz\\test\\samples\\pure\\src\\index.js',
      watchFiles: [
        'D:\\projects\\js\\published\\builderz\\test\\samples\\pure\\src\\index.js'
      ]
    }".

это тестовые файлы

import { resolve } from "path";
import builderz from "../src";

jest.useFakeTimers();

describe("production", () => {
  it("test pure js", async () => {
    await builderz({
      isSilent: true,
      paths: [resolve(__dirname, "./samples/pure")]
    });

    // update it later of cource:
    expect(true).toEqual(true);
  });
});

и babel.config

module.exports = api => {
  api.cache(true);
  return {
    presets: [
      [
        "@babel/preset-env",
        {
          targets: {
            node: "current"
          }
        }
      ]
    ]
  };
};

1 Ответ

0 голосов
/ 21 марта 2020

В jest.config.js измените testEnvironment на testEnvironment: "jsdom", и оно должно работать нормально.

PS: благодаря этому ответу в Github выпуск .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...