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,我什至在触摸测试文件之前就会收到此错误。 我不确定为什么会这样,但我需要帮助解决这个问题,以便我可以继续编写测试。
非常感谢您的帮助!
最佳答案
我无法确定,但这对我来说似乎是“循环依赖”问题。
您是否从索引导入 rtb 并从 rtb 导入索引?
关于javascript - 开 Jest 测试 : TypeError: (0 , _rtb.disableAllAds) 不是一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60748443/