
การทดสอบ Django
TestCase, test fixtures, factories, test client, coverage, TDD, mocking, การผสานรวม CI/CD
1ควรใช้คลาสฐานใดในการเขียน unit test ใน Django?
ควรใช้คลาสฐานใดในการเขียน unit test ใน Django?
คำตอบ
django.test.TestCase เป็นคลาสฐานที่แนะนำสำหรับ unit test ของ Django โดยสืบทอดจาก unittest.TestCase และเพิ่มฟีเจอร์เฉพาะของ Django เช่น การห่อแต่ละเทสต์ไว้ใน transaction ของฐานข้อมูลโดยอัตโนมัติแล้ว rollback หลังจบแต่ละเทสต์ เพื่อรับประกันการแยกอิสระของเทสต์
2ความแตกต่างหลักระหว่าง TestCase กับ TransactionTestCase ใน Django คืออะไร?
ความแตกต่างหลักระหว่าง TestCase กับ TransactionTestCase ใน Django คืออะไร?
คำตอบ
TestCase ห่อเทสต์ไว้ใน transaction แบบ atomic ที่ถูก rollback เมื่อจบ ซึ่งเร็วกว่าแต่ไม่สามารถทดสอบพฤติกรรม transaction จริงได้ ส่วน TransactionTestCase จะสร้างฐานข้อมูลใหม่ระหว่างแต่ละเทสต์ ทำให้ทดสอบ commit และ rollback แบบชัดเจนได้ แต่ช้ากว่า
3จะใช้ Django test client เพื่อจำลองการส่ง request GET ไปยัง view ได้อย่างไร?
จะใช้ Django test client เพื่อจำลองการส่ง request GET ไปยัง view ได้อย่างไร?
คำตอบ
Django test client ซึ่งเข้าถึงได้ผ่าน self.client ภายใน TestCase ช่วยให้จำลอง HTTP request ได้ เมธอด self.client.get('/url/') จะจำลอง request GET และคืนค่าออบเจกต์ Response ที่มี status_code, content และ context ของ template ที่ใช้ในการ render
จะโหลดข้อมูลทดสอบที่กำหนดไว้ล่วงหน้าใน Django โดยใช้ fixtures JSON ได้อย่างไร?
ข้อได้เปรียบหลักของการใช้ Factory Boy เทียบกับ fixtures JSON คืออะไร?
+19 คำถามสัมภาษณ์
หัวข้อสัมภาษณ์ Django อื่นๆ
พื้นฐาน Python
Python เชิงวัตถุ
พื้นฐาน Django
Django Models - พื้นฐาน
Django Views
เทมเพลต Django
ฟอร์ม Django
QuerySets ขั้นสูง
การยืนยันตัวตนใน Django
Django Middleware
Django Admin
Django REST Framework
Django Signals
การอัปโหลดไฟล์
การแคชใน Django
Django Sessions
อีเมลใน Django
ความปลอดภัยของ Django
การ Deploy Django
Django ORM ขั้นสูง
ประสิทธิภาพของ Django
Django & Celery
Django Channels
Django & GraphQL
Django & Docker
Django ในระบบนิเวศ Microservices
คำสั่ง Django แบบกำหนดเอง
การทำให้รองรับหลายภาษาใน Django
Design Patterns ใน Django
Django Async และ ASGI
Settings และการตั้งค่า Production
Observability และ Monitoring
เชี่ยวชาญ Django สำหรับการสัมภาษณ์ครั้งถัดไป
เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์
เริ่มใช้ฟรี