我对 Python 和 Django 都是新手,我正在通过创建一个饮食管理站点来学习,但是我在运行单元测试时完全失败了。我发现的所有文档和博客都说,只要能够从 tests.py 中发现 tests.py,tests.py 就和 mods.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