关于StackOverflow的几个问题都与此类似,但是这些建议并未解决我的特定问题。我不使用react,只有纯JS,而且我无法继续对此进行测试。任何帮助表示赞赏。 我还是Jest测试的新手。 这是我得到的实际错误(我在第一个函数上得到它,因此第二个也将引发该错误) 我不明白的是它不是功能,但显然是:
● 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,即使在触摸测试文件之前,我也会收到此错误。 我不确定为什么会这样,但我需要帮助弄清楚这一点,以便我继续编写测试。
非常感谢您的帮助!
答案 0 :(得分:1)
我不确定,但这对我来说似乎是“循环依赖”问题。
您是从索引导入rtb,还是从rtb导入索引?