我是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')
Run Code Online (Sandbox Code Playgroud)
我已经通过继承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',
)
Run Code Online (Sandbox Code Playgroud)
为了让测试运行,我正在运行 manage.py test pyDietTracker
我有一个Django项目,让我们说"project1".应用程序的典型文件夹结构是:
/project1/
/app1/
/app2/
...
__init__.py
manage.py
settings.py
urls.py
Run Code Online (Sandbox Code Playgroud)
如果我想将所有应用程序保存在某个单独的文件夹中,例如'apps',我该怎么办?所以该结构应如下所示:
/project/
apps/
app1/
app2/
...
__init__.py
manage.py
settings.py
urls.py
Run Code Online (Sandbox Code Playgroud)