reactjs jest jQuery没有定义

use*_*967 20 reactjs jestjs babel-jest

我正在使用jest来测试我的reactJS组件.在我的reactJS组件中,我需要使用jquery UI,所以我在组件中添加了这个:

var jQuery = require('jquery');
require('jquery-ui/ui/core');
require('jquery-ui/ui/draggable');
require('jquery-ui/ui/resizable');
Run Code Online (Sandbox Code Playgroud)

它工作得很好.但是,现在,我需要使用jest进行测试,但是当我将组件加载到testutils中时,我立即遇到了这个问题,

Test suite failed to run
ReferenceError: jQuery is not defined 
Run Code Online (Sandbox Code Playgroud)

如果你在你的应用程序中使用jQuery,有没有人遇到过这个问题?

谢谢

mds*_*ubi 39

您可以在全局对象中添加jQuery依赖项.请执行下列操作

  1. 在你的package.json中,在jest键下添加这样的setupFiles "setupFiles": ["test-env.js"]

  2. test-env.js上的内容如下所示

    import $ from 'jquery'; global.$ = global.jQuery = $;

确保rootDir的test-env路径正确.rootDir在Jest中可用.

  • 这个答案比任何其他人都更适合我.只是关于rootDir的注释,可以按如下方式使用:"<rootDir> /test-env.js"我的jest设置看起来如下:"jest":{..."setupFiles":["<rootDir>/test-env.js"]} (4认同)

归档时间:

查看次数:

8017 次

最近记录:

8 年,7 月 前