Tôi mới làm quen với cả Python và Django và tôi đang học bằng cách tạo một trang web quản lý chế độ ăn uống nhưng tôi đã bị đánh bại hoàn toàn khi chạy các bài kiểm tra đơn vị của mình. Tất cả các tài liệu và blog mà tôi tìm thấy đều nói rằng miễn là nó có thể phát hiện được từ tests.py, tests.py nằm trong cùng thư mục với models.py và lớp con thử nghiệm của bạn TestCase, tất cả sẽ được chọn tự động. Điều này không hiệu quả với tôi, khi tôi chạy manage.py test <myapp>
nó không tìm thấy bất kỳ kiểm tra nào.
Tôi đã bắt đầu với tất cả các thử nghiệm của mình trong gói riêng của họ nhưng đã đơn giản hóa nó xuống tất cả các thử nghiệm chỉ nằm trong tệp tests.py của tôi. Các tests.py hiện tại trông giống như:
import unittest
from pyDietTracker.models import Weight
from pyDietTracker.weight.DisplayDataAdapters import DisplayWeight
class TestDisplayWeight(unittest.TestCase):
def setUp(self):
pass
def tearDown(self):
pass
def testGetWeightInStone_KG_Correctly_Converted(self):
weight = Weight()
weight.weight = 99.8
testAdapter = DisplayWeight(weight)
self.assertEquals(testAdapter.GetWeightInStone(), '15 st 10 lb')
Tôi đã thử nó bằng cách phân lớp con của lớp Django TestCase nhưng điều này cũng không hoạt động. Tôi đang sử dụng Django 1.1.1, Python 2.6 và tôi đang chạy Snow Leopard.
Tôi chắc chắn rằng tôi đang thiếu một cái gì đó rất cơ bản và rõ ràng nhưng tôi chỉ không thể tìm ra cái gì. Có ý kiến gì không?
Chỉnh sửa: Chỉ là một bản cập nhật nhanh sau khi nhận xét
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.admin',
'pyDietTracker',
)
Để chạy các bài kiểm tra, tôi đang chạy manage.py test pyDietTracker
settings
trông như thế nào? Ứng dụng này có trong danh sách INSTALLED_APPS không?