关于django的单元测试问题,我有点头大了

关于django的单元测试问题,我有点头大了

刚开始学习单元测试,看了django里面的相关文档就开搞了。
我把tests.py文件放在了app目录里,内容如下:
import unittest
import models
class detailTestCase(unittest.TestCase):
    def setUp(self):
        self.rec_1 = models.detail.objects.create(name="lion", file_name="roar", descript="lala", tags="bavals")
    def display(self):
        self.assertEquals(self.rec_1, u'lion')

然后运行python manage.py test,却发现上面的代码根本就没有执行!到底是什么原因呢?所我遗漏了什么?
加上
if __name__ == "__main__":
    unittest.main()
试试。
不行的if __name__ == "__main__":    unittest.main() 是直接执行的时候才有效的,我通过django的的是框架来就不一样了的。
CPyUGs上的大侠帮我解决了:
原来所有的测试函数都必须以test开头才行
这个东西看起来不错,lz讲讲。
django 支持两种方式的测试: doctest 和unnittest。


下面是关于如何使django执行测试的 原文:

Once you've written tests, run them using your project's manage.py utility:

[Copy to clipboard] [ - ]
CODE:
$ ./manage.py test

By default, this will run every test in every application in INSTALLED_APPS. If you only want to run tests for a particular application, add the application name to the command line. For example, if your INSTALLED_APPS contains 'myproject.polls' and 'myproject.animals', you can run the myproject.animals unit tests alone with this command:

[Copy to clipboard] [ - ]
CODE:
$ ./manage.py test animals

Note that we used animals, not myproject.animals.

[Copy to clipboard] [ - ]
CODE:
$ ./manage.py test animals. AnimalTestCase

其中AnimalTestCase是使用unittest编写的。

详细描述 参考: django 的官方网站 的 关于 testing 主题的链接。
http://docs.djangoproject.com/en ... ting/#running-tests