我一直在尝试将测试添加到我正在进行的项目中.
测试在论坛/测试/
当我运行manage.py test时,在Django 1.2的测试中找不到我创建的任何测试
我从他们自己的软件包开始我的所有测试,但已经简化为只在我的tests.py文件中.当前的tests.py看起来像:
from django.test.client import Client
from django.test import TestCase
from utils import *
from forum.models import *
from forum import auth
class ForumTestCase(TestCase):
def test_root_page(self):
response = self.client.get('/')
self.assertEqual(response.status_code, 200)
def test_signin_page(self):
response = self.client.get("/account/signin/")
self.assertEqual(response.status_code, 200)
我确定我遗漏了一些非常基本和明显的东西,但我无法解决问题.有任何想法吗?
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.admin',
'django.contrib.humanize',
'forum',
'django_authopenid',
)
为什么Django testrunner没有找到我创建的测试?
测试在论坛/测试/:
__init__.py
forum/tests/test_views.py
forum/tests/test_models.py
我在目录中也有一个__init__.py文件.
最佳答案 正如评论中所述,Django 1.6引入了与
discovery of tests in any test module不兼容的向后兼容性.
在Django 1.6之前,必须执行以下操作:
在中创建名为__init__.py的文件
forum/tests/__init__.py
并从其中的其他模块导入所有测试.
from test_views import SomeTestCase
from test_models import SomeOtherTestCase