当前位置: 首页 > 面试题库 >

如何将CDN中的外部JS注入到Jest单元测试中?

莫翰藻
2023-03-14
问题内容

我已经用npm和webpack反应了应用程序。我正在尝试向其中添加单元测试。

我正在使用index.html中包含的CDN中的jQuery,而不是使用node模块。

我在Test1添加了单元测试用例的组件中使用jQuery 。

现在,当我执行测试用例时,我收到错误消息,说 ReferenceError: $ is not defined
我明白Jest无法解决它,因为我没有在Component中导入jQuery import。

问题是,如何让Jest知道外部JS?


问题答案:

我们可以利用“ setupFiles”
配置来允许Jest在开始执行测试之前执行所有需要的脚本/库/模块。

创建一个文件并将其添加到“ setupFiles”:[“ path / to / setup.js”],并将您的库包含在其中。

例如, global.jQuery = global.$ = require('path/to/jQuery')

请找到我发布在Jest github存储库上的查询。



 类似资料:
  • 请考虑以下代码: 此外,出现此错误的原因可能是:1。您使用final/private/equals()/hashCode()方法中的任一个作为存根。这些方法不能被截取/验证。不支持在非公共父类上声明的模拟方法。2.内部when()不是对mock而是对其他对象调用method。 我是通过Guice进行依赖注入的新手,不知道为什么我不能以这种方式模拟实现对象?

  • 问题内容: 这是我的java类: 这是单元测试: 测试失败,因为没有任何人注入。我应该如何正确处理这种情况?是否存在最佳实践? 问题答案: 如果没有像Spring这样的容器(或诸如基于Spring的Unitils之类的容器),则必须手动注入实体管理器。在这种情况下,您 可以 将以下内容用作基类:

  • 正如您所看到的,我不再使用构造函数注入,而是使用字段注入。主要原因是构造函数中没有太多的参数。 当的所有依赖项都使用字段注入提供时,是否有方法在其中注入模拟依赖项?

  • 问题内容: 我是新来的。我试图针对使用JDK 1.7,Spring 3.1,Groovy 1.8.6,Spock 0.6,Maven 3.0.4的独立Java应用程序编写Spock单元测试。基本的hello world spock测试正在运行。但是,当我尝试测试弹簧豆时,我发现它们没有被注入。我使用这里提到的方法。在 when 块内 , businessObjectDao为null 。我该如何工作

  • 使用此答案中的代码解决单击组件外部的问题: 我不知道如何对不愉快的路径进行单元测试,以使警报不运行,目前为止我得到了什么: 我尝试过: 通过

  • 我总是在Jest测试中得到“localstorage is not defined”,这很有意义,但我有什么选择呢?撞上砖墙。