美文网首页
Django 单元测试

Django 单元测试

作者: LeeDa李 | 来源:发表于2018-10-18 17:36 被阅读0次

Django自带单元测试的模块django.test,该模块使用了Python的标准库unitest,基于类的方法来进行测试。该模块中包含了名为TestCase的测试类,该类继承自unitest.TestCase

在使用时,我们需要在各APP文件夹下中的test.py文件里从django.test中引入TestCase类,从该类中派生我们的测试类并定义我们的测试方法。

测试类设计完成之后,我们通过以下命令来进行测试:

python manage.py test

运行该命令后,测试程序会在本项目中所有以test开头的文件中查找测试用例,即TestCase的子类,然后自动运行测试用例中的测试方法。

此外,在运行测试程序时,系统会创建一个临时的数据库,之后的所有数据库操作都是在这个临时数据库中进行的,测试完成之后再删除这个临时数据库,保证了不会造成数据污染。

一个测试样例的例子:

from django.test import TestCase
from myapp.models import Animal

class AnimalTestCase(TestCase):
    def setUp(self):
        Animal.objects.create(name="lion", sound="roar")
        Animal.objects.create(name="cat", sound="meow")

    def test_animals_can_speak(self):
        """Animals that can speak are correctly identified"""
        lion = Animal.objects.get(name="lion")
        cat = Animal.objects.get(name="cat")
        self.assertEqual(lion.speak(), 'The lion says "roar"')
        self.assertEqual(cat.speak(), 'The cat says "meow"')

AnimalTestCase(TestCase)类中,我们在setUp方法中对model等测试数据进行初始化,而下面定义的test_animals_can_speak则是将要执行的测试代码。在测试代码中,我们可以assertEqual等断言函数来判断我们的业务代码中是否存在错误。

在涉及到Http请求的业务,我们在进行测试时可以使用django.test.Client类的实例来模拟发送GET或POST请求到相应的URL,然后检查服务端的返回状态是否正确。

参考资料

相关文章

  • 技术博客汇总

    对微信公众号接口的单元测试 Github与Travis CI测试与部署 Django单元测试 NodeJs单元测试...

  • Django单元测试指定配置文件(PyCharm设置)

    创建指定配置文件编写单元测试 创建单元测试Django tests 编辑Configurationimage.pn...

  • Django - 单元测试

    Django - 单元测试 Unit tests VS doctest Unit tests —— unittes...

  • django单元测试总结

    一、django单元测试框架: 编写测试用例: 引用TestCase基类:django.test继承了python...

  • Django 单元测试

    Django自带单元测试的模块django.test,该模块使用了Python的标准库unitest,基于类的方法...

  • Django单元测试基础知识

    相关资源 Django官方文档unittest文档 简单的例子 关于django的单元测试,需要知道的是 对于每一...

  • Django fixtures

    Fixtures在Django测试中的使用 在对Django项目做单元测试时,经常需要生成或者导入一些初始数据。对...

  • Django单元测试

    本文主要介绍基于Django框架开发的web程序进行单元测试。 因为使用django程序的view函数的参数一般为...

  • django单元测试

    在项目开发过程中,单元测试必不可少,通过测试可以减少bug数,提升代码质量。 Django支持单元测试,在添加应用...

  • Django单元测试

    为什么需要自动化测试 对于大项目,对每个单元进行测试可以快速定位错误,确保项目质 量 在 python 中,利用 ...

网友评论

      本文标题:Django 单元测试

      本文链接:https://www.haomeiwen.com/subject/zmtszftx.html