问题标签 [jest-image-snapshot]

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 投票
0 回答
53 浏览

reactjs - 是否可以在不启动服务器的情况下将反应片段渲染到图像

我想将反应片段呈现为类似于react-test-renderer呈现 html 的图像,而无需为测试创建路由并启动完整的服务器。所以我想做类似的事情:

是否有可能让木偶师或剧作家像这样内联渲染应用程序?

0 投票
0 回答
142 浏览

unit-testing - Jest 单元测试在组件导入语句上失败

我在要测试的相应组件旁边使用 puppeteer 设置了一系列开玩笑的图像快照单元测试。由于导入了相应的组件,部分测试文件无法运行。测试失败似乎不是基于测试本身,即“it”块,而只是基于文件顶部的组件导入语句,该语句在同一目录中导入了相应的组件。我可以运行测试并获得失败,而无需在文件中定义任何实际测试。

示例测试。

宣言.unit.spec.js

Manifesto.js 文件(简化)

我收到以下消息。(另请参阅下面的错误消息链接)。Jest 一直跟踪对象,直到有一个 graphQL 调用,然后在那里失败。

终端错误消息 - jest 配置文件

看起来盖茨比配置错误。Gatsby 相关graphql 的调用应该只在编译时进行评估,然后编译掉。不幸的是,出了点问题,查询留在了编译后的代码中。

看来我可以在 jest.config.js 中添加一些东西来避免这种情况发生。可能我可以在以下键之一下添加:coveragePathIgnore、testPathIgnorePatterns 或 transformIgnorePatterns。

可能相关的 jest-config 行。

我试过没有成功。在配置文件中修改这些模式后,不确定 jest 是否需要重新启动。通过查看关于 jest 架构的 fb 讲座,似乎在每次测试运行时都会评估配置文件。此外,似乎 testPathIgnore 模式不适用于在评估文件本身的 testPath 之后发生的任何事情。非常感谢任何帮助。

可能很好的开始问题可能是:为什么或在哪些情况下,例如:浅层与创建开玩笑继续评估导入组件之外的对象,是否有必要,如果没有,我该如何停止它。

package.json devDependencies