在开玩笑的测试中,shallow 抛出意外的 token < 错误

2023-11-30

我目前正在使用以下堆栈设置单元测试:

  • React (v15) 组件是用 typescript (.tsx) 编写的
  • 测试设置是使用 jest(v21) 和酶(v3) 完成的
  • 测试文件被编写为普通的 js 文件

不幸的是,酶似乎出了问题,因为我不断收到错误:

 wrapper = enzyme.shallow(<Stepper>bla</Stepper>)
                             ^

SyntaxError: Unexpected token <

  at new Script (vm.js:51:7)
      at Generator.next (<anonymous>)
      at new Promise (<anonymous>)

Test Suites: 1 failed, 1 total

相应的测试文件如下所示:

var React = require('react');
var enzyme = require('enzyme');
var Stepper = require('./Stepper').default;

var wrapper;

describe('Stepper', () => {
  beforeEach(() => {
    wrapper = enzyme.shallow(<Stepper>bla</Stepper>)
  });

  test('has bla', () => {
    expect(wrapper.contains('bla')).toBeTruthy();
  });
});

我在 package.json 中配置了 jest,如下所示:

"jest": {
  "transform": {
    "^.+\\.(tsx|ts)$": "typescript-babel-jest"
  },
  "moduleFileExtensions": [
    "ts",
    "tsx",
    "js"
  ],
  "testMatch": [
    "<rootDir>/src/**/**/*.test.js"
  ],
  "moduleNameMapper": {
    "\\.(css|scss)$": "identity-obj-proxy"
  },
  "setupTestFrameworkScriptFile": "<rootDir>/setupTests.js"
}

我的 setupTests.js 文件如下所示:

var enzyme = require('enzyme');
var Adapter = require('enzyme-adapter-react-15');

enzyme.configure({ adapter: new Adapter() });

我已经没有什么可能导致这个问题的想法了,有人知道解决这个问题的方法吗?


你需要你的测试文件由 babel 转译,因为它包含jsx。使用 jsx 需要导入 React 并由 babel 转译该文件。

目前您只转译以以下结尾的文件.tsx or .ts正如你所定义的package.json. Add .js当你的测试文件结束时.js:

  "transform": {
    "^.+\\.(tsx|ts|js)$": "typescript-babel-jest"
  },

或者用打字稿编写测试文件并使用.tsx作为文件结尾。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在开玩笑的测试中,shallow 抛出意外的 token < 错误 的相关文章

  • 尝试将布尔 C# 变量传递给 javascript 变量并将其设置为 true

    在我的 aspx 页面中 我将布尔变量 C 传递给需要布尔类型的 javascript 函数 但遇到了问题 但是 C 变量返回 True 而 javascript 不喜欢大写 myjavascript 如果我将 c 变量转换为字符串 那么我
  • 在 Vue.js 中从父组件执行子方法

    目前 我有一个 Vue js 组件 其中包含其他组件的列表 我知道使用 vue 的常见方式是将数据传递给孩子 并从孩子向父母发出事件 但是 在这种情况下 我想在子组件中的按钮出现时执行子组件中的方法 parent被点击 哪种方法最好 一种建
  • 我想检查 $('#td1').text() === "x" 是否?

    我想检查innerHtml是否有X或O 所以我不能再次添加任何其他东西 但它不起作用 添加检查代码后它就停止了 我在这里尝试做一个简单的XO游戏来更熟悉javascript和jquery 我也不确定是否可以用 jQuery 做到这一点
  • jQuery AJAX 调用 Java 方法

    使用 jQuery AJAX 我们可以调用特定的 JAVA 方法 例如从 Action 类 该 Java 方法返回的数据将用于填充一些 HTML 代码 请告诉我是否可以使用 jQuery 轻松完成此操作 就像在 DWR 中一样 此外 对于
  • 在 Wordpress 站点中进行 AJAX 调用时出现问题

    我在使用 Wordpress 站点功能的 AJAX 部分时遇到了一些问题 该功能接受在表单上输入的邮政编码 使用 PHP 函数来查找邮政编码是否引用特定位置并返回到该位置的永久链接 我的第一个问题是关于我构建的表单 现在我的表单操作是空白的
  • Google App Engine:修改云运行环境

    我正在尝试部署一个使用自定义 Node js 服务器的 Next js 应用程序 我想将自定义构建变量注入应用程序 next config js const NODE ENV process env NODE ENV const envTy
  • 如何监听 jQuery AJAX 请求?

    以下两种实现 ajaxRequest 1 2 的方法应该是等效的 话说回来 为什么验证回调已执行的单元测试 3 在 1 中成功而在 2 中失败 我应该如何重写测试 3 来监视 2 中的成功回调 如果我尝试stub jQuery ajax使用
  • Node.js:如何在检索数据(块)时关闭响应/请求

    我正在用 node js 构建一个应用程序 它加载多个页面并分析内容 因为 node js 发送块 所以我可以分析这些块 如果一个块包含例如索引 nofollow 我想关闭该连接并继续其余部分 var host example com to
  • 除了更改标题之外,如何在 Firefox 中强制另存为对话框?

    有没有办法在 ff 中强制打开 www example com example pdf 的另存为对话框 我无法更改标题 如果您可以将文件以 Base64 格式输出到客户端 则可以使用 data uri 进行下载 location href
  • 为什么是 javascript:history.go(-1);无法在移动设备上工作?

    首先 一些背景 我有一个向用户呈现搜索页面 html 表单 的应用程序 填写标准并单击 搜索 按钮后 结果将显示在标准部分下方 在结果列表中 您可以通过单击将您带到新页面的链接来查看单个结果的详细信息 在详细信息页面中 我添加了一个 返回结
  • 提交表单并重定向页面

    我在 SO 上看到了很多与此相关的其他问题 但没有一个对我有用 我正在尝试提交POST表单 然后将用户重定向到另一个页面 但我无法同时实现这两种情况 我可以获取重定向或帖子 但不能同时获取两者 这是我现在所拥有的
  • 如何使用tampermonkey模拟react应用程序中的点击?

    我正在尝试使用 Tampermonkey 脚本模拟对 React 元素的点击 不幸的是 由于 React 有自己的影子 DOM 所以天真的方法使用document querySelector 不工作 我遇到了一些需要修改 React 组件本
  • Laravel 中只向登录用户显示按钮

    如果我以 John 身份登录 如何才能只显示 John 的红色按钮而不显示 Susan 的红色按钮 测试系统环境 Win10 Laravel5 4 Mysql5 7 19 table class table table responsive
  • 为什么在 Internet Explorer 中访问 localStorage 对象会引发错误?

    我正在解决一个客户端问题 Modernizr 意外地没有检测到对localStorageInternet Explorer 9 中的对象 我的页面正确使用 HTML 5 文档类型 并且开发人员工具报告该页面具有 IE9 的浏览器模式和 IE
  • 如何循环 Record

    I have Records类型Record https www typescriptlang org docs handbook utility types html recordkt export interface List name
  • 摆脱node-jsx

    在我的 NodeJS 应用程序的路由器中 我想渲染一个 React 应用程序 由于它没有被浏览器化 并且已反应 因此它返回unexpected token lt 构建时出错 我发现如果我require node jsx install 它不
  • JQuery 图像上传不适用于未来的活动

    我希望我的用户可以通过帖子上传图像 因此 每个回复表单都有一个上传表单 用户可以通过单击上传按钮上传图像 然后单击提交来提交帖子 现在我的上传表单可以上传第一个回复的图像 但第二个回复的上传不起作用 我的提交过程 Ajax 在 php 提交
  • 为什么 jquery 没有检测到单选按钮未被选中的情况? [复制]

    这个问题在这里已经有答案了 可能的重复 JQuery radioButton change 在取消选择期间不会触发 https stackoverflow com questions 5176803 jquery radiobutton c
  • 如何获取浏览器视口中当前显示的内容

    如何获取当前正在显示长文档的哪一部分的指示 例如 如果我的 html 包含 1 000 行 1 2 3 9991000 并且用户位于显示第 500 行的中间附近 那么我想得到 500 n501 n502 或类似的内容 显然 大多数场景都会比
  • 导致回发到与弹出窗口不同的页面

    我有一个主页和一个详细信息页面 详细信息页面是从主页调用的 JavaScript 弹出窗口 当单击详细信息页面上的 保存 按钮时 我希望主页 刷新 是否有一种方法可以调用主页的回发 同时还可以从详细信息页面维护保存回发 Edit 使用win

随机推荐

  • 为什么打印指针与打印取消引用的指针打印相同的内容?

    来自 Rust 指南 取消引用 获取被引用的值而不是引用本身 y 我们使用星号 所以我这样做了 fn main let x 1 let ptr y x println x ptr y x ptr y 即使没有显式取消引用 这也会给我相同的结
  • 在 C# 中,是否可以将 List 转换为 List

    我想做这样的事情 List
  • 如何评估包含等号的字符串?

    我有一些问题eval功能 我有一个列表 例如 list1 a 1 b 2 c 3 我想将元组的每个值分配给第一个元素 for el in list1 eval el 0 el 1 我怎样才能做到这一点 You could做这个 exec s
  • 如何在 Django 中更新用户配置文件

    我想让我的学生在登录后更新他的个人资料 但我似乎无法正确编码个人资料更新 这是我的代码 class User AbstractUser pass class Student models Model user models OneToOne
  • Google Cloud Dataflow 用户定义的 MySQL 源

    我正在编写一个 Google 数据流管道 并且作为其中之一Sources我需要通过查询获取 MySQL 结果集 那么有几个问题 作为管道中的一个步骤 从 MySQL 中提取数据的正确方法是什么 可以简单地使用 JDBC 内联完成吗 如果我确
  • 在 Python 中访问 Azure Key Vault 时出现意外的关键字参数“tenant_id”

    我试图访问我的密钥保管库 但总是遇到相同的错误 AppServiceCredential get token failed request got an unexpected keyword argument tenant id Manag
  • PhantomJS 不返回结果

    我正在测试 PhantomJS 并尝试返回在angel co 上列出的所有初创公司 我决定使用 PhantomJS 因为我需要通过单击底部的 下一步 来对首页进行分页 现在这段代码不返回任何结果 我对 PhantomJS 完全陌生 并且已经
  • 带有运算符重载的矩阵乘法

    我正在尝试为我构建的矩阵类创建一个重载运算符 我的矩阵类将矩阵存储在动态分配的多维数组中 我只是想通过将两个完全相同的矩阵相乘并显示输出来测试我的重载运算符 我得到了奇怪的结果 我相信这与我的 for 循环中的条件之一有关 然而 我已经遍历
  • 查找字符串中存在的不同字符

    有没有办法找到字符串中存在的所有唯一字符没有找到该字符串的所有出现位置 例如 设为 string a mississippi 输出应为 i m p s 在 C 中是否有任何内置函数可以找到它 你可以使用std sort std unique
  • nasm 从另一个文件调用子例程

    我正在做一个项目 该项目将我编写的子例程附加到老师包含的主文件中 他给了我们使子程序全局化的说明 但显然我是个白痴 这两个asm文件位于同一个文件夹中 我正在使用nasm f elf g prt dec asm and ld prt dec
  • Excel VBA 错误 424

    我正在尝试根据其列将 vba 中的一些单元格从用户选择的 Excel 文件 req 复制到另一个固定文件 rfqq 下面是我的代码 它带来错误 424 需要对象 有人可以帮忙吗 我是新手 希望得到一个非常简单的答案 Sub rfqo Dim
  • MIPS 如何比较从输入中获取的字符?

    我的程序询问用户他 她正在考虑的数字是否在列表中 用户输入y或n 如何检查用户是否在汇编中输入了 y 或 n 将用户输入放入寄存器中是否足够 如果等于 121 y 的十进制 ASCII 代码 则分支 或者如果该值等于 110 n 的十进制
  • 使用 Azure Active Directory 进行身份验证时进行 Azure 管理库 API 调用时出错

    我的公司正在研究在 Azure 上进行报告 我们只希望客户向我们提供只读凭据供我们使用 我做了一些研究 看起来 Azure Active Directory 就是这么做的 因此 我希望使用只读 Azure 目录应用程序进行身份验证 为了让我
  • 如何在Mongo中“(WHERE)列=列”?

    我喜欢 Mongo 做简单的事情 所以我希望用它来做更高级的事情 在我需要这个之前 这一切都很好 UPDATE tbl SET a b WHERE c lt gt 0 The a b部分是我无法弄清楚的 我尝试了 mongodb org 但
  • Join表的最后一条记录

    我正在寻找正确的 SQL 代码来连接 2 个表并仅显示详细信息表的最后一条记录 我有一个有 2 个表的数据库 Deals DealID Dealname DealDetails DealComments dcID DealID Commen
  • 突出显示输入字段中的文本

    我正在尝试在 JS 中创建一个脚本 突出显示用户输入的某些文本 有点像来自的 测试字符串 框 https regex101 com 但似乎无法在使用时更改输入字段本身内的文本 有谁知道我该怎么做 无法设置内容的样式input字段 或text
  • 我怎样才能将双标参数折叠成空?

    在方法调用中对空数组进行 Splat 扩展 可以有效地将参数减少为空 为了清楚起见 添加了空括号 def foo end def bar args foo args end bar 1 ArgumentError as expected b
  • C++ 中的动态对象?

    我意识到我很可能会得到很多 你不应该这样做 因为 的答案 他们是最受欢迎的 我可能会完全同意你的推理 但我很好奇这是否是可能的 正如我所设想的那样 是否可以在 C 中定义一种动态 通用对象类型 在其中我可以动态创建在系统的键 值类型中存储和
  • 如何判断屏保正在运行?

    人们可能建议的一种解决方案是定期查找特殊的 屏幕保护程序 桌面 如果存在 则将其视为正在运行的屏幕保护程序 但显然并非所有屏幕保护程序都是如此 因为某些提到的桌面始终存在 有没有更可靠的解决方案 请参阅带有 SPI GETSCREENSAV
  • 在开玩笑的测试中,shallow 抛出意外的 token < 错误

    我目前正在使用以下堆栈设置单元测试 React v15 组件是用 typescript tsx 编写的 测试设置是使用 jest v21 和酶 v3 完成的 测试文件被编写为普通的 js 文件 不幸的是 酶似乎出了问题 因为我不断收到错误