Jest-тестирование: TypeError: (0, _rtb.disableAllAds) не является функцией - PullRequest
0 голосов
/ 19 марта 2020

Несколько вопросов по StackOverflow похожи на этот, но предложения не устранили мою конкретную проблему. Я не использую реагирую, только чистый JS, и я не могу продолжить тестирование на c этого. Любая помощь приветствуется. Я также все еще новичок в тестировании Jest. Это фактическая ошибка, которую я получаю (я получаю ее по первой функции, поэтому 2-ая тоже будет выдавать ошибку) Что я не получаю, так это говорит, что это не функция, но она явно такова:

● Test suite failed to run

    TypeError: (0 , _rtb.disableAllAds) is not a function

       99 |
      100 | // check for noads and dhb to disable RTB and ads
    > 101 | export const disableAds = disableAllAds(qsc);
          |                           ^
      102 | export const disableHb = disableAllHb(qsc);

Посмотрите мои файлы: В моем индексном файле:

import {
  disableAllAds,
  disableAllHb,
} from "../src/rtb";

export const disableAds = disableAllAds(qsc);
export const disableHb = disableAllHb(qsc);

Затем в rtb. js:

import {
  disableHb,
} from '../index';

export const disableAllAds = (qsc) => (qsc.noads === true || (typeof window !== 'undefined' && window.noads === 'true')) ? true : false;
export const disableAllHb = (qsc) => (qsc.dhb === true || (typeof window !== 'undefined' && window.disableHB === 'true')) ? true : false;

И мой тестовый файл - tests / rtb.test. js:

import {
  disableAllAds, 
  disableAllHb, 
} from '../src/rtb';

Я получаю эту ошибку еще до того, как прикасаюсь к тестовому файлу, если у меня включена Jest --watch. Я не уверен, почему это так, но мне нужна помощь в выяснении этого, чтобы я мог продолжать писать свои тесты.

Большое спасибо за помощь!

1 Ответ

1 голос
/ 19 марта 2020

Я не могу убедиться, но это кажется мне проблемой "круговой зависимости".

Вы импортируете rtb из индекса и индекс из rtb?

...