首页 > 解决方案 > 为什么我在单元测试中得到`ReferenceError: jQuery is not defined`

问题描述

react-testing-library用来测试他们使用 jquery 的一些组件。
该应用程序运行良好,但是当我去测试它们时,我发现jQuery它没有定义。
node_modules/jqueryui/jquery-ui.jswhere is 调用中调用factory(jQuery)


**纱线测试给出:**。

ReferenceError:未定义 jQuery

  2 | import { video } from '../player';
  3 |
> 4 | import 'jqueryui';
    | ^
  5 | require('./jquery-ui-touch-punch');
  6 |
  7 | export default function() {

组件使用的 js 文件上发生的错误:

https://i.stack.imgur.com/UDifX.png // 我不知道为什么,它不显示图像。

jquery 需要在哪里导入,以免出现该错误?


我使用的 jquery 模块package.json是:

    "@types/jquery": "^3.3.33",
    "@types/jqueryui": "^1.12.10",
    "jquery": "2.2.0",
    "jqueryui": "^1.11.1",```

标签: javascriptjqueryreactjsunit-testingjquery-ui

解决方案


首先导入 jquery,因为它应该在范围内,或者如果它可用,请告诉编译器它是全局的,例如 `/* global $, jQuery, jquery */


推荐阅读