【问题标题】:Laravel Dusk Tests Fail In GitHub CI, But Work LocallyLaravel Dusk 测试在 GitHub CI 中失败,但在本地工作
【发布时间】:2021-01-26 23:33:43
【问题描述】:

我花了很长时间尝试调试这个,但我尝试的每个解决方案都不起作用。

我有一个使用 docker 容器化的项目 (here),该项目本身使用 Laravel、Nginx 和 Dusk。

如果我尝试构建环境并运行黄昏测试,它们就会通过。然而,当我把它推到 GH 时,测试失败了。我在 CI 中有dump()ed,它似乎显示一个空白页面 (<html><head></head><body></body></html>)。

我觉得此时我已经搜索了整个互联网。

我如何运行测试:

$ cd src/copytube
$ npm ci
$ npm run dev
$ composer install
$ docker-compose up -d
$ docker exec copytube_phpfpm php artisan dusk

没有人知道为什么/如何测试会失败仅在 CI 中?我能想到的本地和 CI 之间的唯一区别是,我使用的是 Mac,而 CI 使用的是 ubuntu 运行器。但即便如此,因为一切都是容器化的,所以这应该不是问题

编辑

在每一个测试中,它都会出错,说Element oes not exist,这是有道理的,因为页面只是一个空的正文,可以在here找到测试

编辑 2

可以看到 CI 失败 here(旧操作)

我已禁止黄昏测试在工作流中运行

编辑 3

D: 我将重新启用测试,以便更容易查看

编辑 4

这是我在 CI 中启用黄昏测试的 PR,因此您可以看到错误:https://github.com/ebebbington/copytube/pull/161

【问题讨论】:

  • 错误是什么?
  • 我可能会扩展那个哎呀,我会更新描述,但我在登录后,尝试点击或获取任何元素,它显示element does not exist,这很有意义,因为页面是只是一个空的 html 正文

标签: php laravel laravel-dusk


【解决方案1】:

当我在 .env 文件中将 .env 文件设置为以 https://

开头的 URL 时,我遇到了这种问题

所以我猜这个问题与您在 Github CI 上用于运行测试的 .env 文件有关。

这是我与此相关的答案。
Laravel Dusk returns empty html document when dumping browser, assertions therefore fail

【讨论】:

    猜你喜欢
    • 2022-01-26
    • 1970-01-01
    • 1970-01-01
    • 2021-02-19
    • 2016-10-07
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 2017-01-31
    相关资源
    最近更新 更多