我花了很长时间试图调试它,但我尝试的每个解决方案都不起作用。
我有一个使用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文档,因此断言失败