1 回答
TA贡献1828条经验 获得超3个赞
这使我找到了解决方法,我已接受他的答案,但仍想扩展它:-
我已经找到了解决方法,但仍然觉得必须有更好的方法,因为它仍然存在问题:-
第一个问题是我在 docker.command 中使用了容器名称而不是服务名称,并且我需要输入 bash:
"better-phpunit.docker.command": "docker exec php bash",
然后我必须按照 @Florian Engelhardt 的建议更改 phpunit 二进制文件:-
"better-phpunit.phpunitBinary": "${workspaceFolderBasename}/vendor/bin/phpunit",
现在不再出现错误并显示 phpunit 帮助,所以我知道我已经取得了进展。
然后我不得不更改套件命令(我不知道为什么,但这也修复了单个测试运行):-
"better-phpunit.suiteSuffix": "/var/www/${workspaceFolderBasename}/tests",
上面只是告诉 phpunit 测试 laravel 测试目录中的所有内容,我希望它使用 phpunit.xml 配置文件,但无法让它工作,我已经尝试过,正如文档所说,如果没有找到配置,它将自动拉"/var/www/${workspaceFolderBasename}"取在 .xml 中,但它没有,我已经尝试过,"/var/www/${workspaceFolderBasename}/phpunit.xml"但这只是试图测试 .xml。无论如何,上述解决方法有效,也许我会添加一个新问题phpunit.xml
运行测试后,我注意到颜色不再起作用,所以我添加了:-
"better-phpunit.commandSuffix": "--colors=auto"
我的 settings.json 现在看起来像:-
"better-phpunit.docker.enable": true,
"better-phpunit.docker.command": "docker-compose exec workspace bash",
"better-phpunit.docker.paths": {
"${workspaceFolder}": "/var/www/${workspaceFolderBasename}"
},
"better-phpunit.phpunitBinary": "${workspaceFolderBasename}/vendor/bin/phpunit",
"better-phpunit.suiteSuffix": "/var/www/${workspaceFolderBasename}/tests",
"better-phpunit.commandSuffix": "--colors=auto"
现在讨论问题,在测试运行时,到目前为止,我发现任何使用 POST 请求测试表单的测试都会由于 CSRF 令牌不匹配而失败,而如果我手动运行 phpunit,它们不会失败。我仍然需要一个更好的解决方案,但目前上述解决方案可以满足我的需求,我只是将其用作运行单个测试然后手动测试套件的快速方法。
- 1 回答
- 0 关注
- 81 浏览
添加回答
举报