Django单元测试框架总结

1.python单元测试框架介绍

python自带单元测试库为:unittest,包括有测试前数据构造(初始化)、测试function编写、测试套管理。测试用例通过测试套加载。通过编写python脚本驱动测试套实现测试用例执行。

1.1unittest单元测试框架分析:

  1. 导入测试库:import unittest
  2. 测试用例编写:setUp():测试环境构造(初始化) 、tearDown():测试环境清理
  3. 测试用例管理(测试套):unittest.TestSuite(),增加测试用例到测试套:addTest(class_name("test_case_name"))
  4. 测试用例执行:runner = unittest.TextTestRunner();runner.run(suit)

注:所有测试用例均以test_开头。《Selenium2自动化测试实战---基于Python语言》有关于unittest详细介绍。

2.Django单元测试框架结构分析

Django单元测试框架默认使用python的标准库unittest编写测试用例。单元测试框架提供:用例编写规范、专业的比较方法(断言assert)以及丰富的测试日志。

框架调用:from django.test import TestCase

测试用例编写:setUp()、assertEqual()、test_function_name()

注:Django在执行setUp()部分操作时,并不会真正向数据库表中插入数据。所以不用关心testDown()清理工作。



Django 测试过程中,测试用例是以独立函数存在。一个函数可作为一个单独测试用例,测试结果判断(assertEqual)直接在函数中进行。测试用例执行是在独立的cmd下命令执行,可以分层执行。


  • 执行整个项目下测试用例;
  • 执行项目下某个文件测试用例;
  • 执行某个文件下某个类下的测试用例;
  • 执行某个文件中某个类下的单独函数的测试用例(python manage.py test sign.tests.LoginActionTest.test_add_admin));

3.范例

以签到系统用户签到模块测试如下:

Django单元测试框架总结