我可以从 devspace 或 kubectl 在 IntelliJ/PhpStorm 中运行 PHPUnit 吗?

问题描述 投票:0回答:1

基于 thisthis,IntelliJ 和 PhpStorm 不支持从 devspace 或 kubectl 内运行 PHPUnit 测试。

因此,与此同时,我只是通过

Run | Edit Configurations...
:

手动运行 bash 脚本作为脚本
#!/usr/bin/env bash

devspace enter -c foo php artisan config:clear;

kubectl exec -it deploy/foo -- \
  vendor/bin/phpunit \
  tests/MyExamples/ExampleTest.php -v \
  --log-junit reports/unitreport0.xml \
  -d memory_limit=-1

有更好的方法吗?我希望至少能够将其与测试运行程序集成,而不是运行脚本。

如果没有,有没有办法在 IntelliJ/PhpStorm 中提取当前的测试名称或类,以便我可以将其作为参数传递到脚本中?

另外,有什么方法可以使 IntelliJ/PhpStorm 中的线条可点击吗?

/bar/foo/tests/MyExamples/ExampleTest.php:123

laravel intellij-idea phpunit phpstorm
1个回答
0
投票

我认为在 IntelliJ/PHPStorm 中执行此操作的最佳方法是使用

sshd
。这在 devspace 中得到了很好的支持,只需少量的配置。

首先,将此行添加到

devspace.yaml
文件中以在您的实例上设置 sshd:

sshd: {}

然后您应该可以通过 ssh 登录。请注意,您将在

.ssh/config
文件中附加一些行,因此您可能需要验证这些设置:

ssh foo.bar.devspace

然后在 IntelliJ 中,转到

File
Settings
Tools
SSH Configurations
,添加一个新条目:

主持人

foo.bar.devspace

用户名

devspace

端口

10659
(注意:在 ~/.ssh/config 文件中确认此值。默认值 22 可能不正确)

身份验证类型

Key pair

私钥文件

/Users/<myusername>/.devspace/ssh/id_devspace_ecdsa
(将myusername替换为你自己的用户名)

确保选中解析配置文件 ~/.ssh/config

然后,在

File
Remote Development
中,单击
SSH Connection
New Connection
,然后从 连接 下拉列表中选择我们刚刚创建的连接(所有其他字段应显示为灰色),然后单击 检查连接并继续。 (如果这不起作用,您的 shell 可能设置不正确——确保
$SHELL
未设置为 devspace 内的
/sbin/nologin
之类的内容)。

在“选择 IDE 和项目”对话框中,选择 IDE 和版本,并将项目目录设置为某个值——看起来您不能将其设置为空,所以也许您的主目录可以工作。当 docker 桌面在 devspace 客户端上安装 Intelllj/PHPStorm 时,您可能会收到一些确认对话框。

运行 Intellij——它将连接到您的开发空间环境。您可以从容器加载您的项目。它可能会提示您安装 PHP 插件并重新启动。

现在您应该能够运行单元测试——单击测试旁边的绿色箭头以确保其有效。您还应该能够使用断点调试单元测试。

© www.soinside.com 2019 - 2024. All rights reserved.