(обновленный вопрос, чтобы показать, что это не похоже на связанные вопросы)
Я написал команду Laravel (показана полностью ниже), которая в основном является оболочкой для Dusk, так что я могу быть уверен, что заранее вызову некоторые другие функции. (В противном случае я неизбежно забуду сбросить среду тестирования.)
Отлично работает, когда я запускаю php artisan mydusk
.
namespace App\Console\Commands;
class DuskCommand extends BaseCommand {
protected $signature = 'mydusk {file?} {--filter=?}';
protected $description = 'refreshAndSeedTestingDb, then run Dusk suite of tests';
public function handle() {
$this->consoleOutput($this->description);
$resetTestingEnv = new ResetTestingEnv();
$resetTestingEnv->refreshAndSeedTestingDb();
$this->consoleOutput('refreshAndSeedTestingDb finished. Now will run Dusk...');
$file = $this->argument('file');//What to do with this?
return \Artisan::call('dusk', ['--filter' => $this->option('filter')]);
}
}
Как видите, я уже прочитал эти документы и понимаю, как написать $signature
для принятия необязательных аргументов.
Моя цель - иметь возможность иногда запускать php artisan mydusk
, а также иметь возможность добавлять аргументы, например, когда я могу захотеть вызвать что-то вроде php artisan mydusk tests/Browser/MailcheckTest.php --filter testBasicValidCaseButtonClick
(которое передало бы аргументы tests/Browser/MailcheckTest.php --filter testBasicValidCaseButtonClick
обычному dusk
команда).
Как я могу отредактировать последние 2 строки моей функции handle()
, чтобы $file
передавалось dusk
?