Импорт из ствола не работает с шуткамиJavascript

Форум по Javascript
Ответить Пред. темаСлед. тема
Anonymous
 Импорт из ствола не работает с шутками

Сообщение Anonymous »

У меня постоянная проблема с тестами: когда я тестирую что-то, импортируется из файла ствола. Ошибка везде одна и та же:
import { funcName } from "../../";
TypeError: (0 , common_1.funcName) не является функцией
Это связано с тем, что импорт происходит из index.ts, когда я импортирую его напрямую (из исходного файла), он работает четко, но я не могу изменить каждый файл только для обеспечения функциональности тесты, я думаю, что есть лучшее решение проблем, но я не могу найти ни одного. (Давайте проигнорируем тот факт, что файлы Barrel не очень хороши)
Каждая проблема в stackOverflow Я видел, как люди предлагали использовать Mock для отдельных функций, но это кажется не очень хорошим решением, я не могу тестировать компоненты с помощью пустые функции.
Я пробовал использовать множество конфигураций в шутку, на самом деле у меня есть вот эта:

Код: Выделить всё

  testEnvironment: "jsdom",
preset: "ts-jest/presets/default-esm",
injectGlobals: true,
moduleNameMapper: {
"^@/(.*)$": "/src/$1",
"(.*)/index$": ["$1/index.ts", "$1/index.js"],
"\\.(css|less|scss|sass)$": "identity-obj-proxy",
"^lodash-es$": "lodash",
"^lodash-es/(.*)$": "lodash/$1"
},
roots: ["/src"],
modulePaths: ["/src"],
moduleDirectories: ["node_modules", "src"],
"transform": {
"\\.[jt]s?$": ["ts-jest", { useESM: true, isolatedModules: true, diagnostics: false }]
},
transformIgnorePatterns: [
"/node_modules/(?!@testing-library).+\\.js$"
],
extensionsToTreatAsEsm: [".ts", ".tsx"],
setupFilesAfterEnv: ["./jest.setup.ts"],
globals: {
extensionsToTreatAsEsm: [".ts", ".js"],
},
moduleFileExtensions: ["ts", "tsx", "js", "jsx", "json", "node"],
};
Итак, вопрос в том, была ли у кого-то такая же проблема или есть какое-то знакомое решение? Я понятия не имею, что делать дальше, потому что я потерял несколько дней, чтобы исправить это, но мне это не удалось.


Подробнее здесь: https://stackoverflow.com/questions/793 ... -with-jest
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Javascript»