Symfony

Testing Symfony

PHPUnit, test case, functional test, database fixtures, mocking, code coverage, Panther

22 คำถามสัมภาษณ์·
Mid-Level
1

เฟรมเวิร์กการทดสอบเริ่มต้นที่ Symfony ใช้คืออะไร?

คำตอบ

PHPUnit เป็นเฟรมเวิร์กการทดสอบอย่างเป็นทางการที่รวมอยู่ใน Symfony Symfony มีแพ็กเกจ symfony/test-pack ซึ่งรวม PHPUnit และคลาสพื้นฐานอย่าง WebTestCase และ KernelTestCase เพื่อให้ทดสอบได้ง่ายขึ้น PHPUnit เป็นมาตรฐานโดยพฤตินัยสำหรับการทดสอบ PHP และมอบระบบนิเวศของ assertion และฟีเจอร์ที่หลากหลาย

2

ควรใช้คลาสพื้นฐานใดในการทดสอบเซอร์วิสของ Symfony โดยไม่โหลด HTTP kernel?

คำตอบ

KernelTestCase เป็นคลาสพื้นฐานสำหรับการทดสอบแบบ integration ที่ต้องการเข้าถึง service container โดยไม่โหลดเลเยอร์ HTTP มันจะบูต kernel ของ Symfony และอนุญาตให้เข้าถึงเซอร์วิสผ่าน self::getContainer() ซึ่งเบากว่า WebTestCase เพราะไม่ได้เริ่มต้น HTTP client

3

จะเข้าถึง service container ในการทดสอบที่สืบทอดจาก KernelTestCase ได้อย่างไร?

คำตอบ

ใน Symfony 5.3+ เมธอดแบบ static self::getContainer() เป็นวิธีที่แนะนำในการเข้าถึง container หลังจากบูต kernel ด้วย self::bootKernel() เมธอดนี้จะคืนค่า test container ที่ทำให้ทุกเซอร์วิสเป็น public เพื่อให้ทดสอบได้ง่ายขึ้น ส่วนไวยากรณ์เดิม self::$container ถูกเลิกใช้แล้ว

4

ควรใช้คลาสใดในการทดสอบ controller ด้วยการจำลองคำขอ HTTP?

5

จะตรวจสอบได้อย่างไรว่า HTTP request คืนค่า status code 200 ใน functional test?

+19 คำถามสัมภาษณ์

หัวข้อสัมภาษณ์ Symfony อื่นๆ

PHP สมัยใหม่ (8.1+)

Junior
20 คำถาม

พื้นฐาน Symfony

Junior
25 คำถาม

Routing & Controllers

Junior
20 คำถาม

Twig & Templates

Junior
20 คำถาม

พื้นฐาน Doctrine ORM

Junior
25 คำถาม

ฟอร์ม Symfony

Junior
22 คำถาม

การตรวจสอบความถูกต้องของข้อมูล

Junior
18 คำถาม

Dependency Injection & Services

Mid-Level
24 คำถาม

Security & Authentication

Mid-Level
26 คำถาม

Doctrine ขั้นสูง

Mid-Level
24 คำถาม

API Platform

Mid-Level
22 คำถาม

Serializer Component

Mid-Level
20 คำถาม

Events & Event Subscribers

Mid-Level
20 คำถาม

Console & Commands

Mid-Level
18 คำถาม

Messenger Component

Mid-Level
22 คำถาม

HTTP Client

Mid-Level
18 คำถาม

Cache & ประสิทธิภาพ

Mid-Level
20 คำถาม

Workflow Component

Mid-Level
18 คำถาม

Mailer Component

Mid-Level
16 คำถาม

การแปลและ i18n

Mid-Level
16 คำถาม

EasyAdmin Bundle

Mid-Level
18 คำถาม

สถาปัตยกรรม Symfony

Senior
24 คำถาม

ประสิทธิภาพและการเพิ่มประสิทธิภาพ

Senior
22 คำถาม

ความปลอดภัยขั้นสูง

Senior
22 คำถาม

Custom Bundles

Senior
20 คำถาม

Microservices ด้วย Symfony

Senior
22 คำถาม

Real-time & WebSockets

Senior
18 คำถาม

Deployment & DevOps

Senior
20 คำถาม

เชี่ยวชาญ Symfony สำหรับการสัมภาษณ์ครั้งถัดไป

เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์

เริ่มใช้ฟรี