명령줄 테스트


ㅋㅋ                                                    
Introduction

HTTP 테스트를 단순화하는 것 외에도, Laravel은 사용자 입력이 필요한 콘솔 애플리케이션을 테스트하기 위한 간단한 API를 제공합니다.

  • 예상되는 입력/출력
  • Laravel은 콘솔 명령에 대한 사용자 입력을 "시뮬레이트"하기 위해 expectsQuestion 메서드를 사용합니다. 또한 assertExitCodeexpectsOutput 메서드를 사용하여 콘솔 명령 종료 코드와 예상 출력 텍스트를 지정할 수 있습니다. 예는 다음과 같습니다.
Artisan::command('question', function () {
    $name = $this->ask('What is your name?');    
    $language = $this->choice('Which language do you program in?', [
            'PHP',        
            'Ruby',        
            'Python',    
         ]);    
     $this->line('Your name is '.$name.' and you program in '.$language.'.');
   });
다음 샘플 코드를 참조하여 expectsQuestion, expectsOutputassertExitCode 메소드:
/**
 * 测试控制台命令。
 *
 * @return void
 */
 public function test_console_command(){
     $this->artisan('question')      
        ->expectsQuestion('What is your name?', 'Taylor Otwell')        
        ->expectsQuestion('Which language do you program in?', 'PHP')         
        ->expectsOutput('Your name is Taylor Otwell and you program in PHP.')         
        ->assertExitCode(0);
     }

이 글은

LearnKu.com

웹사이트에 처음 게시되었습니다.