测试命令在终端中有效,但在 php 中无效

test comman works in terminal but not in php

当我在终端中执行 php artisan test --testsuite=myTestsuite 时,我得到了正确的结果,这就是这个测试套件执行了它的测试。

但是当我执行 php artisan myCommand 时:

然后在 phpunit.xml 中首先列出的测试套件首先执行,然后是我传递名称的测试套件。

有人知道为什么会这样吗?

要在命令中调用 artisan,您需要使用下一个构造:

$this->call('test', ['test suite' => 'MyTestsuite']);

您可以像下面这样使用 Artisan 门面:

    Artisan::call('test --testsuite=myTestsuite'); 
    $output = Artisan::output();

解决了
shell_exec('php artisan test --testsuite=MyTestsuite')

如果有人找到其他解决方案,请告诉我。谢谢