TR;TL

phpunit --filter 'regex'

PHPunit Filter

phpunit을 사용하면서 특정 메소드, 혹은 클래스만 테스트 하고 싶을 땐 아래 처럼 filter를 줘서 실행합니다.

phpunit --filter test_something

물론 Laravel을 쓰는 경우엔 artisan에서 제공하는 test 명령어를 사용할 수도 있습니다.

artisan test --filter test_something

문제점

다만, test의 메소드 이름이 test_something, test_something_1처럼 동일한 부분이 있을 경우 문제가 생기는데,

내가 하고싶은 테스트는 test_something 뿐임에도 test_something_1까지 모두 실행되는 문제가 있습니다.

해결

이때 –filter 로 넘기는 파라미터에 단순한 텍스트 말고도 정규식을 전달하는 방식으로 해결 할 수 있습니다.

phpunit --filter 'test_something$' # '$' 표시는 문장의 마지막을 의미합니다.

물론 laravel 의 artisan test도 동일하게 사용할 수 있습니다.

artisan test --filter 'test_something$' # '$' 표시는 문장의 마지막을 의미합니다.