Я создаю команду Artisan для получения данных из сокета, и я хочу написать unit-testing для этой команды, но я не уверен, как написать такой тест.
Кто-нибудь знает, как его написать?
Ответ 1
Пример теста
<?php
use Illuminate\Foundation\Testing\WithoutMiddleware;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;
class YourCommandTest extends TestCase
{
use DatabaseTransactions;
public function testExample()
{
Artisan::call('your_command', [
'command_parameter_1' => 'value1',
'command_parameter_2' => 'value2',
]);
// If you need result of console output
$resultAsText = Artisan::output();
$this->assertTrue(true);
}
}
Ответ 2
Теперь намного проще:
<?php
class YourCommandTest extends TestCase
{
public function testExample()
{
$this->artisan('command', ['param' => 'value']);
}
}