单元测试
2023年8月5日小于 1 分钟
单元测试
数据库配置
为了防止影响其他功能,可以给单元测试设置一个单独的数据库
DATABASES = {
'default': {
'ENGINE' : 'django.db.backends.mysql',
'HOST': 'localhost',
'PORT': '3306',
'NAME': 'django_db1', # 真实的数据库
'USER': 'root',
'PASSWORD': '123456',
'TEST':{
'NAME':'django_db_test' # 用于单元测试的数据库
}
}
}
单元测试文件
在每个APP里面,都有一个
test.py
文件,可以在里面去定义测试类,并可以直接运行
from django.test import TestCase, Client
from .models import Goods
# Create your tests here.
class GoodsTestCase(TestCase):
def test_goods_list(self):
# 创建一个客户端
client = Client()
# 模拟客户端访问首页
response = client.get('/goods/')
# 测试,self.assertEqual接收3个参数(被测试对象,正确的测试结果,如果不正确输出什么)
# 如果第一个参数的返回值不等于第二个参数,输出第三个参数
self.assertEqual(
response.status_code,
200,
'商品查询失败'
)
result = response.json()
self.assertEqual(
type(result),
list,
'商品查询结果不对'
)
if __name__ == '__main__':
userTestCase = GoodsTestCase()
userTestCase.test_goods_list()