000
讲解对象:test.py 代码测试
作者:融水公子 rsgz
代码:
from django.test import TestCase,Client
from . import Student
class StudentTestCase(TestCase):
# 初始化环境
def setUp(self):
Student.objects.create(
name='牧尘',
sex=1,
email='muchen@qq.com',
profession='程序员',
qq='2966154487',
phone='13295940215',
)
# 需要测试的方法
def test_create_and_sex_show(self):
student=Student.objects.create(
name='御魂大帝',
sex=1,
email='2966221154@qq.com',
profession='程序员',
qq='2966221154',
phone='13295956464',
)
self.assertEqual(student,sex_show,'男','性别字段的内容跟展示的不一致!')
# 需要测试的方法
def test_filter(self):
Student=Student.objects.create(
name='帝释天',
sex=1,
email='2906221154@qq.com',
profession='程序员',
qq='2906221154',
phone='13295950000',
)
name='牧尘'
student = Student.objects.filter(name=name)
self.assertEqual(students.count(),1,
'应该只存在一个名称为{}的记录'.format(name))
# 请求首页
def test_get_index(self):
client=Client()
response=client.get('/')
self.assertEqual(response.status_code,200,'status must be 200!')
# 提交数据
def test_post_student(self):
client = Client()
data=dict(
name='test_for_post',
sex=1,
email='2906221154@qq.com',
profession='程序员',
qq='2906221154',
phone='13295950000',
)
response=client.post('/',data)
self.assertEqual(response.status_code, 302, 'status must be 302!')
response = client.get('/')
self.assertTrue(b'test_for_post' in response.content,
'response.content must contain `test_for_post`')
000