Tôi muốn viết một bài kiểm tra đơn vị cho một lệnh Django manage.py thực hiện một thao tác phụ trợ trên một bảng cơ sở dữ liệu. Làm thế nào tôi sẽ gọi lệnh quản lý trực tiếp từ mã?Làm thế nào tôi có thể gọi lệnh tùy chỉnh Django manage.py trực tiếp từ trình điều khiển thử nghiệm?
Tôi không muốn thực hiện lệnh trên vỏ hệ điều hành từ tests.py vì tôi không thể sử dụng môi trường thử nghiệm được thiết lập bằng cách sử dụng kiểm tra manage.py (kiểm tra cơ sở dữ liệu, kiểm tra email giả mạo, vv .. .)
+1 để đặt logic có thể kiểm tra ở nơi khác (phương pháp mô hình? Phương pháp quản lý? Chức năng độc lập?) Để bạn không cần phải gây rối với máy móc cuộc gọi. Cũng làm cho chức năng dễ sử dụng hơn. –
Thậm chí nếu bạn trích xuất logic, chức năng này vẫn hữu ích để kiểm tra hành vi lệnh cụ thể của bạn, như đối số bắt buộc và để đảm bảo nó gọi hàm phù thủy thư viện của bạn thực hiện công việc thực. –
Đoạn mở đầu áp dụng cho trường hợp _any_ ranh giới. Di chuyển mã logic biz của bạn ra khỏi mã bị ràng buộc để giao tiếp với một cái gì đó, chẳng hạn như người dùng. Tuy nhiên, nếu bạn viết dòng mã, nó có thể có một lỗi, vì vậy kiểm tra thực sự nên đạt được đằng sau bất kỳ ranh giới. – Phlip