Laravel Dusk测试在GitHub CI中失败,但在本地工作



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

我有一个使用docker容器化的项目(这里),该项目本身使用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中测试才会失败?local和我能想到的CI之间的唯一区别是,我使用Mac,而CI使用ubuntu runner。但即便如此,因为所有东西都是集装箱化的,也不应该成为问题

编辑

在每一次测试中,它都会出错,称为Element oes not exist,这是有道理的,因为页面只是一个空的主体,测试可以在这里找到

编辑2

CI故障可以在这里看到(旧操作)

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

编辑3

D:我会重新启用测试,这样可以更容易地看到

编辑4

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

我在.env文件中设置APP_URL时遇到了这种问题,该URL以https://开头

所以我想这个问题与你在Github CI上运行测试时使用的.env文件有关。

以下是我对此的回答
Laravel Dusk在转储浏览器时返回空的html文档,因此断言失败

最新更新