Django

Kiểm thử Django

TestCase, test fixtures, factories, test client, coverage, TDD, mocking, tích hợp CI/CD

22 câu hỏi phỏng vấn·
Mid-Level
1

Nên dùng lớp cơ sở nào để viết unit test trong Django?

Câu trả lời

django.test.TestCase là lớp cơ sở được khuyến nghị cho unit test trong Django. Nó kế thừa từ unittest.TestCase và bổ sung các tính năng riêng của Django như tự động bọc mỗi test trong một transaction cơ sở dữ liệu được rollback sau mỗi test, đảm bảo sự cô lập giữa các test.

2

Sự khác biệt chính giữa TestCase và TransactionTestCase trong Django là gì?

Câu trả lời

TestCase bọc các test trong một transaction nguyên tử được rollback ở cuối, nhanh hơn nhưng không cho phép kiểm thử các hành vi transaction thực sự. TransactionTestCase tạo lại cơ sở dữ liệu giữa mỗi test, cho phép kiểm thử commit và rollback tường minh, nhưng chậm hơn.

3

Làm thế nào để dùng Django test client để mô phỏng một request GET tới một view?

Câu trả lời

Django test client, được truy cập qua self.client trong một TestCase, cho phép mô phỏng các request HTTP. Phương thức self.client.get('/url/') mô phỏng một request GET và trả về một đối tượng Response chứa status_code, content và context của template dùng để render.

4

Làm thế nào để nạp dữ liệu test định nghĩa sẵn trong Django bằng fixtures JSON?

5

Ưu điểm chính của việc dùng Factory Boy so với fixtures JSON là gì?

+19 câu hỏi phỏng vấn

Nắm vững Django cho lần phỏng vấn tiếp theo

Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.

Bắt đầu miễn phí