美文网首页
django 测试 (一)

django 测试 (一)

作者: eeert2 | 来源:发表于2020-05-03 13:56 被阅读0次

django官方文档:
https://docs.djangoproject.com/zh-hans/3.0/topics/testing/overview/

Django的单元测试采用Python的标准模块,unittest。该模块以类的形式定义测试。

截屏2020-05-0313.31.22.png

一、测试文件命名

django中,每一个app中都有一个tests.py文件,我们在这里写测试内容

django的测试发现基于unittest模块的内置测试发现。默认情况下,它将在当前工作目录下的任何名为test* .py的文件中找到并运行测试。

显然,tests.py是符合test* .py命名规范的。

如果我们后续的测试越来越多,可能在一个文件中写不下,也可以写在多个测试文件中。例如

  • test_models.py
  • test_views.py
  • test_utils.py

二、编写测试用例

django的测试用例都继承 django.test.TestCase, 这个类本身继承python内置的unittest.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):
        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"')
  1. 这里的. setUp()是测试用例的配置函数,是可选的,一般用来准备数据配置

  2. 测试函数应该以test开头,如这里的test_animals_can_speak
    这里的测试函数中有两个assertEqual测试

三、运行测试

编写测试后,我们就可以运行测试了。通过命令

>>> ./manage.py test

或者

>>> python manager.py test

可以运行所有的测试用例。

也可以运行指定的模块,函数

>>> ./manager.py test animals 
# 仅运行运行 animals 模块的测试用例

四、测试数据库

当我们要测试models中的模型时,创建测试数据是必不可少的
django模型测试 | Model测试将不会使用“实际”(生产)数据库。将为测试创建单独的空白数据库。

无论测试是通过还是失败,都将在执行所有测试后破坏测试数据库。

相关文章

  • django + uwsgi + supervisor + ng

    环境安装 测试virtualenv Django环境搭建 测试uwsgi启动Django程序 创建uwsgi配置文...

  • 教程:Django REST With Reaction(Dja

    教程:Django REST With Reaction(Django 2.0和少量测试) 教程:Django R...

  • django单元测试总结

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

  • Django 五

    目录 1.Django 模板的导入 2.Django 模板的继承 3.Django 搭建测试环境 4.Django...

  • django 测试 (一)

    django官方文档:https://docs.djangoproject.com/zh-hans/3.0/top...

  • Django fixtures

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

  • Django的一些网站

    中文文档Anaconda虚拟环境安装及Django安装django入门与学习-django的安装与测试-1

  • Django-简单web服务器构建

    1.安装Django pip install Django 2.测试是否安装成功 3.结果:

  • pytest

    测试也是一个项目开发过程中不可避免的话题,此处项目框架为django,测试库为pytest-django 1. i...

  • django 测试 (二)执行测试的顺序

    在Django中,为了确保所有TestCase代码均以干净的数据库开头,Django测试运行器通过以下方式对测试进...

网友评论

      本文标题:django 测试 (一)

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