O Laravel 5.7 vem com uma nova forma de tratar e testar novos comandos. Inclui um novo recurso de teste de comandos artesanais e a demonstração é mencionada abaixo -
class ArtisanCommandTest extends TestCase{
public function testBasicTest() {
$this->artisan('nova:create', [
'name' => 'My New Admin panel'
])
->expectsQuestion('Please enter your API key', 'apiKeySecret')
->expectsOutput('Authenticating...')
->expectsQuestion('Please select a version', 'v1.0')
->expectsOutput('Installing...')
->expectsQuestion('Do you want to compile the assets?', 'yes')
->expectsOutput('Compiling assets...')
->assertExitCode(0);
}
}
Explicação do Código
Aqui, uma nova classe chamada “ArtisanCommandTest” é criada no módulo de casos de teste. Inclui uma função básicatestBasicTest que inclui várias funcionalidades de asserções.
O comando do artesão expectsQuestioninclui dois atributos. Um com pergunta e outro com umapiKeySecret. Aqui, o artesão valida o apiKeySecret e verifica a entrada enviada pelo usuário.
O mesmo cenário se aplica à pergunta “Selecione uma versão”, em que o usuário deve mencionar uma versão específica.