python - Django 测试运行程序找不到测试

标签 python django unit-testing

我是 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

最佳答案

我有同样的问题,但我的根本原因不同。

作为 OP,我得到了 Ran 0 tests

但事实证明,您的测试类中的测试方法必须以关键字test开头才能运行

例子:

from django.test import TestCase


class FooTest(TestCase):
    def setUp(self):
        pass

    def tearDown(self):
        pass

    def this_wont_run(self):
        print 'Fail'

    def test_this_will(self):
        print 'Win'

其中包含您的 TestCases 的文件也必须以 test 开头。

关于python - Django 测试运行程序找不到测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2037364/

相关文章:

python - 在AWS lambda函数中使用scrapy作为层

python - 如何动态更新 Django 中的模型?

python - Django 自定义命令错误 : unrecognized arguments

asp.net - 调用 VirtualPathUtility.ToAbsolute 的单元测试代码

python - 如何撤消 TensorFlow session 中的最后一个训练步骤?

python - 如何找到发出 POST 请求所需的参数和 header ?

python - 如何将函数结果添加到 Django 中的 <p> 标签

android - Espresso 测试失败 : No interface method trackUsage() in UsageTracker. java

unit-testing - 在单元测试中隐藏调用堆栈

python - 在numpy中选择具有可变索引边界的数组元素