Django的单元测试类django.test.TestCase从unittest.TestCase继承而来。
本文的例子就是用django.test.TestCase类进行Django的单元测试。
from django.test import TestCase
from FirstApp.models import Event, Guest
# Create your tests here.
class ModelTest(TestCase):
def setUp(self):
Event.objects.create(id=1,name='tom1',status=True,limit=2000,
address='beijing',start_time='2017-04-19 20:00:01')
Guest.objects.create(id=1,event_id=1,realname='tom2',
phone='13500001111',email='[email protected]',sign=False)
def test_event_models(self):
result=Event.objects.get(name='tom1')
self.assertEqual(result.address, "beijing")
self.assertTrue(result.status)
def test_guest_models(self):
result=Guest.objects.get(phone='13500001111')
self.assertEqual(result.realname,"tom2")
self.assertFalse(result.sign)
1)首先创建ModelTest类,继承django.test.TestCase测试类。
2)在setUp初始化方法中,分别创建一条发布会(Event)和一条嘉宾(Guest)数据。
3)通过test_event_models()和test_guest_models()测试方法,分别查询创建的数据,并断言是否正确。
1)运行FirstApp应用下的所有测试用例。
\FirstProject>python3 manage.py test FirstApp
2)运行FirstApp应用下的tests.py测试文件。
\FirstProject>python3 manage.py test FirstApp.tests
3)运行FirstApp应用tests.py测试文件下的ModelTest测试类。
\FirstProject>python3 manage.py test FirstApp.tests.ModelTest
4)执行ModelTest测试类下面的test_event_models测试方法(用例)。
\FirstProject>python3 manage.py test FirstApp.tests.ModelTest
5)使用-p(或–pattern)参数模糊匹配测试文件。
\FirstProject>python3 manage.py test -p test*.py
至此,Django测试实例就此完毕。下篇会写客户端的实例。