所以我正在使用Jest& amp;来测试我的React组件。酶,当我测试打开引导模式的组件时,我收到以下错误:
TypeError: $(...).modal is not a function
有道理,我还没有引用bootstrap,所以我继续将以下内容添加到我的package.json中的jest对象中:
"setupFiles": [
"./app/common/js/jquery-3.1.1.min.js",
"./app/common/js/bootstrap.min.js",
"./__mocks__/beforeTest.js"
]
然后给我这个错误:
Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.
我已将window.$
和global.$
设置为jQuery以查看这是否有助于我的问题,但它似乎也没有帮助,也没有将导引模块导入我的{{1文件。
我不需要测试模态的功能,我只需要将错误消失。所以我希望找到一种加载引导程序的方法,这样我就可以运行beforeTest.js
。 bootstrap甚至可以在这种环境下工作吗?
答案 0 :(得分:0)
这对我有帮助:
$.fn.modal = jest.fn();
该模拟还将避免将Bootstrap包含在测试套件中。