【问题标题】:Strange Jest failures on Travis CITravis CI 上奇怪的 Jest 失败
【发布时间】:2017-12-12 07:51:25
【问题描述】:

尝试通过 Travis CI 运行我的 Jest 套件时,我遇到了一些奇怪的测试失败。在本地一切正常。

令人不安的是,我什至不明白这个错误。我附上了输出的截图。我不明白的是,它似乎是从供应商文件中运行测试,但只在 travis 上运行,而不是在我的本地运行。换句话说,当我在本地机器上运行 jest 时,我总共有 64 个测试套件,但是在 Travis 上我有 65 个测试套件。有没有人遇到过这样的事情或者知道 Jest/Travis 的配置并且可以分享一些见解?

【问题讨论】:

  • 请粘贴原始 travis 输出而不是屏幕截图。我们会更容易理解您的问题并为您提供帮助。您可以通过单击作业日志控制台右上角的按钮(您在屏幕截图中向我们展示的那个)在 travis Web 界面中显示原始日志。
  • 我认为 Jest 收集测试的方式存在问题。正如我所看到的,它从名称为test.js 的每个文件中收集测试。可能是因为您在本地拥有不同版本的 Jest 和安装在 travis vm 中的版本。也有可能在 travis 中执行默认的 script 命令。请参阅this 文章以了解如何在.travis.yml 中自定义构建步骤最后,您还可以尝试从测试中明确排除失败的文件(... test/cgi/assets/folder/test.js)。跨度>
  • 我认为this 是跳过测试期间不需要执行的文件的方法。
  • 嗨。感谢您的回复。原始日志是巨大的。只要堆栈溢出不会让我粘贴它,这就是我没有包含它的原因。我考虑过明确排除该文件,但没有尝试,因为该文件实际上不在我的仓库中。无论如何,我都会尝试一下,看看会发生什么。我已经确认 travis 运行的 Jest 版本与我在本地运行的版本相同。

标签: reactjs testing continuous-integration travis-ci jestjs


【解决方案1】:

我最终通过使用config 中的testRegex 选项强制 Jest 忽略所有未命名为 .test 的测试文件

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-02
    • 1970-01-01
    • 2018-06-03
    • 2017-07-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多