Buduję polecenie rzemieślnicze, aby otrzymywać dane z gniazda, i chcę napisać test jednostkowy dla tego polecenia, ale nie jestem pewien, jak napisać taki test.Jak przetestować polecenia rzemieślnika w Laravel 5
Każdy ma pomysł, jak to napisać?
Buduję polecenie rzemieślnicze, aby otrzymywać dane z gniazda, i chcę napisać test jednostkowy dla tego polecenia, ale nie jestem pewien, jak napisać taki test.Jak przetestować polecenia rzemieślnika w Laravel 5
Każdy ma pomysł, jak to napisać?
Przykład testu
<?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);
}
}
Znaleziono to podejście jest proste i użyteczne w testach akceptacyjnych. Jednak nie będzie rejestrować zasięgu kodu dla samego polecenia. – alariva
Uruchomiłem testy z opcją '--coverage-html', aby wygenerować raport zasięgu:' phpunit --coverage-html coverage_path'. I widzę zasięg metod, które nazwano wewnątrz polecenia. – mnv
To ciekawe, naprawdę nie rozumiem, dlaczego nie rozumiem ich. Tutaj [moje pytanie, jeśli znajdziesz to w tym samym przypadku] (http://stackoverflow.com/questions/38032285/which-is-an-acceptable-approach-for-testing-commands-in-laravel-5-2- with-phpunit). – alariva
Dużo łatwiej jest teraz:
<?php
class YourCommandTest extends TestCase
{
public function testExample()
{
$this->artisan('command', ['param' => 'value']);
}
}
Gdzie jest twoje stwierdzenie? Na co się powołujesz? – Mkey
http://laravel.com/docs/master/artisan#calling-commands-via-code? – andrewtweber
http://stackoverflow.com/questions/34814954/laravel-5-console-artisan-command-unit-tests – bernie
To było dla mnie lepsze podejście: https://stackoverflow.com/a/41122816/470749 – Ryan