我是Python和Django的新手,我正在通过创建饮食管理网站来学习,但是我因运行单元测试而被彻底击败。我发现的所有文档和博客都说,只要可以从tests.py中发现它们,tests.py与models.py以及您的测试类的子类TestCase都位于同一文件夹中,则它们都应该自动被拾取。这对我manage.py test <myapp>
不起作用,运行时找不到任何测试。
我将所有测试放在他们自己的程序包中,但是将其简化为仅包含在我的tests.py文件中的所有测试。当前的tests.py看起来像:
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')
我也通过子类化Django TestCase类进行了尝试,但这也不起作用。我正在使用Django 1.1.1,Python 2.6,并且正在运行Snow Leopard。
我确定我缺少一些非常基本和显而易见的东西,但是我无法解决。有任何想法吗?
编辑:评论后只是快速更新
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.admin',
'pyDietTracker',
)
要运行测试,我正在运行 manage.py test pyDietTracker
settings
长什么样 该应用程序是否在INSTALLED_APPS列表中?