python – 为什么Django testrunner没有找到我创建的测试?

我一直在尝试将测试添加到我正在进行的项目中.

测试在论坛/测试/

当我运行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
点赞