问题标签 [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.
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
javascript - React Jest:如何获取复选框的状态
我正在尝试checked
在 React 组件中查找复选框的状态。这是我的组件:
我编写了以下测试场景:
当我尝试获取 的值时cb['checked']
,它只是打印出一个空字符串''
。我期待得到true
。
获取复选框状态的正确方法是什么?
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
这一切都假设工作吗?
谢谢你。
react-native - 用 jest 测试 react-native 应用程序时未定义 XMLHttpRequest
我正在尝试使用 jest(集成测试)在基于 react-native 的应用程序中测试 apiwrapper。当我在 iOs 模拟器中运行它时,一切都运行良好,但是它不会正确运行我的笑话测试 - 我总是得到:
当我尝试使用我的 api 包装器运行测试时,例如:
我在这里尝试测试的 api 类确实使用了 fetch api(不是 vanilla xhr)。我认为它与试图模拟某些东西的玩笑有关,但还没有找到让它工作的方法。
提前致谢。
react-native - 开玩笑 - 未知的“预设” - “jest-react-native”
我正在使用以下 package.json (根据http://facebook.github.io/jest/docs/tutorial-react-native.html#content):
但我得到了错误:
我的 .babelrc 文件包含:
javascript - 使用 jest 15.1.1 的代码覆盖率“未知”
当我尝试包含所有项目源代码以获得更合理的代码覆盖率数字时,我最终得到
我的配置包含以下内容:
我也尝试过不带尾随的/
,有**/*.js
尾随的,*.js
都无济于事。
根据该--debug
选项,路径扩展到我想从中收集覆盖信息的路径(不是问题)
那么获得更准确的覆盖率信息有什么魔力呢?
我能找到的最好的文档来自这个 Github PR: https ://github.com/facebook/jest/pull/1349/files
我最终做了:
这只有效,因为这是默认配置的一部分
但是,它确实为测试运行增加了大量时间。
babeljs - 避免制作 .babelrc 文件来使用 Jest 进行测试
我意识到建议.babelrc
根据他们的文档制作一个文件以使用 Jest 运行测试。但是有什么方法可以让我以编程方式加载 babelrc 配置,因此不必为我拥有的每个 React 项目创建这个文件?另外,我意识到我可以在我的package.json
文件中放一些东西,但我也不想这样做。
webpack - webpack 在开玩笑的单元测试中需要非 js 内容
最近我将我的一个项目转换为 webpack & babel。它由敲除组件制成。
我在运行单元测试时遇到了问题。如果我在 测试文件夹中有一个文件,例如
问题是该组件是一个需要排序的模块
当我尝试运行网站本身时,它运行良好,因为原始加载程序是为此要求配置的。但是,当我开玩笑时,测试输出:
知道为什么会这样吗?我认为 jest 是错误的,但我尝试用 Ava 代替它,结果是一样的。我开始认为这是一个 babel 问题。
我正在使用 babel-jest 预处理器运行 jest。
javascript - 在 Jest 中模拟全局变量
Jest 中是否有任何方法可以模拟全局对象,例如navigator
, 或Image
*?我几乎已经放弃了这一点,并把它留给了一系列可模拟的实用方法。例如:
测试这个微小的功能很简单,但很麻烦,而且根本不是确定性的。我可以到达那里的 75%,但这大约是我能做到的:
另一方面,如果我对这种间接方式没问题,我现在可以navigator
通过这些实用程序访问:
...并像这样进行确定性测试...
在我使用过的所有测试框架中,Jest 感觉是最完整的解决方案,但任何时候我编写笨拙的代码只是为了使其可测试,我觉得我的测试工具让我失望了。
这是唯一的解决方案还是我需要添加 Rewire?
*别傻笑。Image
非常适合 ping 远程网络资源。