2012-06-05 40 views
9

Tôi muốn thử nghiệm ứng dụng nhỏ của mình, mà tôi giữ trong một gói riêng biệt. Ngay bây giờ tôi đã tạo một thư mục "test_project", đã tạo một dự án thử nghiệm ở đó và tôi đang sử dụng manage.py của dự án để chạy thử nghiệm. Nhưng tôi cứ tự hỏi - liệu có phương pháp nào tốt hơn không? Có thể khởi chạy các thử nghiệm của một ứng dụng, có lẽ với một số cấu hình mặc định (như cơ sở dữ liệu sqlite)?Làm thế nào để kiểm tra ứng dụng đơn lẻ (không phải dự án) ở Django?

Trả lời

1

Có thể chạy thử nghiệm của một ứng dụng đơn lẻ mà không cần tạo dự án thử nghiệm Django cho mục đích đó. Một cách để làm như vậy là tạo một runtests.py trong thư mục gốc của ứng dụng, thiết lập cài đặt Django và chạy ./manage.py test your_app theo chương trình. Một ví dụ về runtests.py là của riêng Django: runtests.py (documentation).

riêng của Django runtests.py là một tài liệu tham khảo tốt nhưng tôi thấy nó phức tạp trong hầu hết các trường hợp.Dưới đây là một vài ví dụ khác:

+0

Bạn có upvote của tôi và tôi đánh dấu nó là một câu trả lời được chấp nhận. Tôi thực sự muốn bạn thêm thông tin, vì phiên bản nào của Django mà '' runtests.py'' được hỗ trợ. Có mới không? – dotz

+0

@ dotz, đó là một câu hỏi rất thú vị, tôi không biết câu trả lời nhưng không thể cưỡng lại tìm kiếm nó. Theo như tôi có thể thấy Django của 'runtests.py' được tạo ra trong năm 2005 và có sẵn kể từ v1.0. Đây là cam kết ban đầu: https://github.com/django/django/commit/daf8467b37f7aaae0b463b40a2c9d98f1f53c556#diff-bf0d7f89b37ba018fb5c5b2833b37dd3 –

0

Ofcourse bạn thể thử nghiệm những phần Python với một độc unittest nếu bạn không cần bất kỳ phụ thuộc django

Một Django môi trường đòi hỏi phải có ít nhất một settings.pymanage.py tập tin. Bạn có thể thiết lập những thứ chỉ với nội dung thiết yếu và UnitTest ứng dụng của bạn bằng manage.py. Bạn sẽ thấy một dự án như một môi trường thời gian chạy Django, không có Django mà không có nó. Bạn có thể có thể bắt chước các thiết lập nhưng tbh bạn sẽ chỉ tạo ra nhiều hacks hơn là đơn giản.

5

Nếu bạn sử dụng mũi, bạn có thể chạy thử nghiệm của một ứng dụng.

python manage.py test app.tests:TestClassHere

để thử nghiệm một ứng dụng duy nhất. Tôi chỉ cần làm theo quy ước khác django dự án lớn làm, và đó là chính xác những gì bạn đang làm. Tạo thư mục test_project.

https://bitbucket.org/jespern/django-piston/src/7c90898072ce/tests/test_project

Tôi hình dung nếu nó là đủ tốt cho một số ứng dụng pluggable django lớn nhất đó là đủ tốt cho tôi.

+0

Cảm ơn bạn, trong một thời gian rất dài này là câu trả lời được chấp nhận vì nó là tốt nhất. Hiện tại tôi nghĩ rằng điều này bởi Dario là tốt hơn. Cảm ơn bạn đã là câu trả lời được chấp nhận trong khoảng 5 năm hoặc lâu hơn. – dotz

5

Viết này xuống vì tôi không nhìn thấy nó trên đây chưa

From the docs

Nếu cấu trúc django của bạn trông giống như thế này vì nó nên:

Project dir/ 
    /myapp 
    /myotherapp 
    /myproject 

Django cho phép bạn thực hiện kiểm tra từ chỉ "myotherapp" bằng cách thực hiện:

./manage.py test myotherapp/ 

Điều này sẽ thực hiện tất cả các thử nghiệm trong "myotherapp" trong khi

./manage.py test 

sẽ thực hiện tất cả kiểm tra trong thư mục dự án của bạn.

+0

Đây phải là câu trả lời được chọn –

Các vấn đề liên quan