问题标签 [babel-jest]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
9 回答
82232 浏览

ecmascript-6 - Jest 是否支持 ES6 导入/导出?

如果我import/export从 ES6 使用,那么我所有的 Jest 测试都会失败并出现错误:

意外的保留字

我将我的测试对象转换为使用老式的IIFE语法,突然我的测试通过了。或者,采用更简单的测试用例:

同样的错误。显然这里的导入/导出存在问题。仅仅为了让我的测试框架满意而使用 ES5 语法重写我的代码对我来说是不切实际的。

我有巴别塔笑话。我尝试了来自 GitHub 问题的各种建议。到目前为止还没有。

文件包.json

文件babelrc

有解决办法吗?

0 投票
0 回答
1515 浏览

react-native - 无法让 Jest 和 React Native 工作

试图让 Jest v12.1.1 与 React Native v0.26.2 一起工作我在运行时收到此错误npm test Error: Cannot find module 'ErrorUtils' from 'env.js'

这是我的package.json。我正在尝试使用默认react-native init AwesomeProject启动器来实现它。

我的 package.json 中是否缺少某些内容?(这里有我不需要的行吗?)

示例 1:

包.json

这是一个测试脚本。

index.android-test.js

示例 2:

当我将“haste”添加到package.json并删除scriptPreprocessor&时,我得到了一个不同的错误setupEnvScriptFile Error: Cannot find module 'AwesomeProject' from 'index.android-test.js'

我不知道为什么我会在以下方面走得更远。我之前的示例 1 如下: https ://facebook.github.io/jest/docs/tutorial-react.html#content 和带有“haste”的示例 2 如下: https ://github.com/fbsamples/f8app/ blob/master/package.json

真的很困惑为什么 Ex 1 不起作用。

修改后的 package.json

0 投票
1 回答
1940 浏览

javascript - React Jest:如何获取复选框的状态

我正在尝试checked在 React 组件中查找复选框的状态。这是我的组件:

我编写了以下测试场景:

当我尝试获取 的值时cb['checked'],它只是打印出一个空字符串''。我期待得到true

获取复选框状态的正确方法是什么?

0 投票
1 回答
835 浏览

integration-testing - 使用 Jest 对 Relay 容器的集成测试与工作中的 GraphQL 后端不工作

我想针对正在运行的 GraphQL 后端服务器实现我的 Relay 容器的集成测试。我将为此使用 Jest。我想说的是,React 组件的单元测试在我的 Jest 设置中运行良好。这是我在package.json开玩笑的内容:

这是.babelrc我正在使用的:

这是测试本身。它必须向 ` http://localhost:10000/q ' GraphQL 端点发出请求,以获取表示当前用户(“我”)信息的简单片段。

问题是测试通过了。但在我看来,它必须render() expect(this.props.root.me.authorities[0].authority).toEqual('ROLE_ANONYMOUS_AAA');. 似乎该render()方法根本没有执行。

我正在像这样运行 Jest

这一切都假设工作吗?

谢谢你。

0 投票
2 回答
3821 浏览

react-native - 用 jest 测试 react-native 应用程序时未定义 XMLHttpRequest

我正在尝试使用 jest(集成测试)在基于 react-native 的应用程序中测试 apiwrapper。当我在 iOs 模拟器中运行它时,一切都运行良好,但是它不会正确运行我的笑话测试 - 我总是得到:

当我尝试使用我的 api 包装器运行测试时,例如:

我在这里尝试测试的 api 类确实使用了 fetch api(不是 vanilla xhr)。我认为它与试图模拟某些东西的玩笑有关,但还没有找到让它工作的方法。

提前致谢。

0 投票
1 回答
2727 浏览

react-native - 开玩笑 - 未知的“预设” - “jest-react-native”

我正在使用以下 package.json (根据http://facebook.github.io/jest/docs/tutorial-react-native.html#content):

但我得到了错误:

我的 .babelrc 文件包含:

0 投票
3 回答
6281 浏览

javascript - 使用 jest 15.1.1 的代码覆盖率“未知”

当我尝试包含所有项目源代码以获得更合理的代码覆盖率数字时,我最终得到

我的配置包含以下内容:

我也尝试过不带尾随的/,有**/*.js尾随的,*.js都无济于事。

根据该--debug选项,路径扩展到我想从中收集覆盖信息的路径(不是问题)

那么获得更准确的覆盖率信息有什么魔力呢?

我能找到的最好的文档来自这个 Github PR: https ://github.com/facebook/jest/pull/1349/files


我最终做了:

这只有效,因为这是默认配置的一部分

但是,它确实为测试运行增加了大量时间。

0 投票
1 回答
3504 浏览

babeljs - 避免制作 .babelrc 文件来使用 Jest 进行测试

我意识到建议.babelrc根据他们的文档制作一个文件以使用 Jest 运行测试。但是有什么方法可以让我以编程方式加载 babelrc 配置,因此不必为我拥有的每个 React 项目创建这个文件?另外,我意识到我可以在我的package.json文件中放一些东西,但我也不想这样做。

0 投票
2 回答
1707 浏览

webpack - webpack 在开玩笑的单元测试中需要非 js 内容

最近我将我的一个项目转换为 webpack & babel。它由敲除组件制成。

我在运行单元测试时遇到了问题。如果我在 测试文件夹中有一个文件,例如

问题是该组件是一个需要排序的模块

当我尝试运行网站本身时,它运行良好,因为原始加载程序是为此要求配置的。但是,当我开玩笑时,测试输出:

知道为什么会这样吗?我认为 jest 是错误的,但我尝试用 Ava 代替它,结果是一样的。我开始认为这是一个 babel 问题。

我正在使用 babel-jest 预处理器运行 jest。

0 投票
6 回答
122753 浏览

javascript - 在 Jest 中模拟全局变量

Jest 中是否有任何方法可以模拟全局对象,例如navigator, 或Image*?我几乎已经放弃了这一点,并把它留给了一系列可模拟的实用方法。例如:

测试这个微小的功能很简单,但很麻烦,而且根本不是确定性的。我可以到达那里的 75%,但这大约是我能做到的:

另一方面,如果我对这种间接方式没问题,我现在可以navigator通过这些实用程序访问:

...并像这样进行确定性测试...

在我使用过的所有测试框架中,Jest 感觉是最完整的解决方案,但任何时候我编写笨拙的代码只是为了使其可测试,我觉得我的测试工具让我失望了。

这是唯一的解决方案还是我需要添加 Rewire?

*别傻笑。Image非常适合 ping 远程网络资源。