
Testing Symfony
PHPUnit, test case, functional test, database fixtures, mocking, code coverage, Panther
1เฟรมเวิร์กการทดสอบเริ่มต้นที่ Symfony ใช้คืออะไร?
เฟรมเวิร์กการทดสอบเริ่มต้นที่ Symfony ใช้คืออะไร?
คำตอบ
PHPUnit เป็นเฟรมเวิร์กการทดสอบอย่างเป็นทางการที่รวมอยู่ใน Symfony Symfony มีแพ็กเกจ symfony/test-pack ซึ่งรวม PHPUnit และคลาสพื้นฐานอย่าง WebTestCase และ KernelTestCase เพื่อให้ทดสอบได้ง่ายขึ้น PHPUnit เป็นมาตรฐานโดยพฤตินัยสำหรับการทดสอบ PHP และมอบระบบนิเวศของ assertion และฟีเจอร์ที่หลากหลาย
2ควรใช้คลาสพื้นฐานใดในการทดสอบเซอร์วิสของ Symfony โดยไม่โหลด HTTP kernel?
ควรใช้คลาสพื้นฐานใดในการทดสอบเซอร์วิสของ Symfony โดยไม่โหลด HTTP kernel?
คำตอบ
KernelTestCase เป็นคลาสพื้นฐานสำหรับการทดสอบแบบ integration ที่ต้องการเข้าถึง service container โดยไม่โหลดเลเยอร์ HTTP มันจะบูต kernel ของ Symfony และอนุญาตให้เข้าถึงเซอร์วิสผ่าน self::getContainer() ซึ่งเบากว่า WebTestCase เพราะไม่ได้เริ่มต้น HTTP client
3จะเข้าถึง service container ในการทดสอบที่สืบทอดจาก KernelTestCase ได้อย่างไร?
จะเข้าถึง service container ในการทดสอบที่สืบทอดจาก KernelTestCase ได้อย่างไร?
คำตอบ
ใน Symfony 5.3+ เมธอดแบบ static self::getContainer() เป็นวิธีที่แนะนำในการเข้าถึง container หลังจากบูต kernel ด้วย self::bootKernel() เมธอดนี้จะคืนค่า test container ที่ทำให้ทุกเซอร์วิสเป็น public เพื่อให้ทดสอบได้ง่ายขึ้น ส่วนไวยากรณ์เดิม self::$container ถูกเลิกใช้แล้ว
ควรใช้คลาสใดในการทดสอบ controller ด้วยการจำลองคำขอ HTTP?
จะตรวจสอบได้อย่างไรว่า HTTP request คืนค่า status code 200 ใน functional test?
+19 คำถามสัมภาษณ์
หัวข้อสัมภาษณ์ Symfony อื่นๆ
PHP สมัยใหม่ (8.1+)
พื้นฐาน Symfony
Routing & Controllers
Twig & Templates
พื้นฐาน Doctrine ORM
ฟอร์ม Symfony
การตรวจสอบความถูกต้องของข้อมูล
Dependency Injection & Services
Security & Authentication
Doctrine ขั้นสูง
API Platform
Serializer Component
Events & Event Subscribers
Console & Commands
Messenger Component
HTTP Client
Cache & ประสิทธิภาพ
Workflow Component
Mailer Component
การแปลและ i18n
EasyAdmin Bundle
สถาปัตยกรรม Symfony
ประสิทธิภาพและการเพิ่มประสิทธิภาพ
ความปลอดภัยขั้นสูง
Custom Bundles
Microservices ด้วย Symfony
Real-time & WebSockets
Deployment & DevOps
เชี่ยวชาญ Symfony สำหรับการสัมภาษณ์ครั้งถัดไป
เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์
เริ่มใช้ฟรี