wes*_*byb 5 jquery twitter-bootstrap reactjs jestjs enzyme
所以我正在使用 Jest & Enzyme 测试我的 React 组件,当我测试一个打开引导模式的组件时,我收到以下错误:
TypeError: $(...).modal is not a function
有道理,我还没有在任何时候引用引导程序,所以我继续将以下内容添加到我的 package.json 中的 jest 对象中:
"setupFiles": [
"./app/common/js/jquery-3.1.1.min.js",
"./app/common/js/bootstrap.min.js",
"./__mocks__/beforeTest.js"
]
Run Code Online (Sandbox Code Playgroud)
然后给了我这个错误:
Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.
我已经设置window.$
和global.$
jQuery 以查看这是否对我的问题有帮助,但它似乎也没有帮助,在我的beforeTest.js
文件中导入引导模块也没有帮助。
我不需要测试模态的功能,我只需要错误消失。所以我希望找到一种方法来加载引导程序,以便我可以运行$(...).modal
. bootstrap 甚至可以在这种环境中工作吗?
小智 6
这对我有帮助:
$.fn.modal = jest.fn();
Run Code Online (Sandbox Code Playgroud)
模拟还将避免将 Bootstrap 包含在测试套件中。
归档时间: |
|
查看次数: |
1917 次 |
最近记录: |