Symfony

Testing Symfony

PHPUnit, 테스트 케이스, 기능 테스트, 데이터베이스 픽스처, 모킹, 코드 커버리지, Panther

22 면접 질문·
Mid-Level
1

Symfony가 기본적으로 사용하는 테스트 프레임워크는 무엇입니까?

답변

PHPUnit은 Symfony에 통합된 공식 테스트 프레임워크입니다. Symfony는 PHPUnit과 테스트를 쉽게 해주는 WebTestCase 및 KernelTestCase 같은 기본 클래스를 포함하는 symfony/test-pack 패키지를 제공합니다. PHPUnit은 PHP 테스트의 사실상 표준이며 풍부한 어설션과 기능의 생태계를 제공합니다.

2

HTTP 커널을 로드하지 않고 Symfony 서비스를 테스트하려면 어떤 기본 클래스를 사용해야 합니까?

답변

KernelTestCase는 HTTP 계층을 로드하지 않고 서비스 컨테이너에 접근해야 하는 통합 테스트를 위한 기본 클래스입니다. Symfony 커널을 부팅하고 self::getContainer()를 통해 서비스에 접근할 수 있게 합니다. HTTP 클라이언트를 초기화하지 않으므로 WebTestCase보다 가볍습니다.

3

KernelTestCase를 확장하는 테스트에서 서비스 컨테이너에 접근하려면 어떻게 합니까?

답변

Symfony 5.3 이상에서는 self::bootKernel()로 커널을 부팅한 후 컨테이너에 접근하는 권장 방법이 정적 메서드 self::getContainer()입니다. 이 메서드는 테스트를 쉽게 하기 위해 모든 서비스를 public으로 만드는 테스트 컨테이너를 반환합니다. 기존 self::$container 구문은 더 이상 사용되지 않습니다.

4

HTTP 요청 시뮬레이션으로 컨트롤러를 테스트하려면 어떤 클래스를 사용해야 합니까?

5

기능 테스트에서 HTTP 요청이 상태 코드 200을 반환하는지 어떻게 확인합니까?

+19 면접 질문

다음 면접을 위해 Symfony을 마스터하세요

모든 질문, flashcards, 기술 테스트, 코드 리뷰 연습, 면접 시뮬레이터에 접근하세요.

무료로 시작하기