美文网首页Python学习自动化测试
Django test.py 正确解锁方式

Django test.py 正确解锁方式

作者: Kewings | 来源:发表于2022-03-09 16:51 被阅读0次
  1. 首先Django的test也是直接调用的unittest规则,所以,建议在有顺序执行的TestCase中使用0-9, a-z这样的顺序进行一些排序
    例如:
test_01_registerEquip_get
test_02_registerEquip_post_rightdata
test_03_registerEquip_post_errordata
  1. setUpClass/tearDownClass会被调用一次,setUp/tearDown每个函数执行的时候都会被调用
    所以需要一开始就初始化的数据内容,建议放在setUpClass,并且做好保护,譬如设置已存在就不再create数据
    @classmethod
    def setUpClass(cls) -> None:
        eType_num = EquipType.objects.filter(equip_type='TestType1').count()
        if eType_num == 0:
            eType = EquipType.objects.create(equip_type='TestType1')
        else:
            eType = EquipType.objects.get(equip_type='TestType1')
        eqs_num = Equip.objects.filter(name='TestDevice1', equip_type=eType).count()
        if eqs_num == 0:
            eqs = Equip.objects.create(name='TestDevice1', equip_type=eType, status='free')
        else:
            eqs = Equip.objects.get(name='TestDevice1')
  1. HttpResponse和JsonResponse不能直接判断,需要做一些转换读取
def test_01_registerEquip_get(self):
    res = self.client.get('/equip/API/RegisterEquip/', format='json')
    res_dict = json.loads(str(res.content,'utf-8'))
    self.assertEqual(res_dict['ReturnCode'], 200)
  1. 每个测试函数运行的数据都会被建立及被摧毁,所以如果函数间存在依赖关系的话,得在有依赖的函数中再次引用被依赖函数的数据构建方法
def test_05_updateEquipStatus_post_rightdata(self):
    res = self.client.post('/equip/API/UpdateEquipStatus/', data=self.equipStatus_data)
    res_dict = json.loads(str(res.content,'utf-8'))
    self.assertEqual(res_dict['ReturnCode'], 200)

def test_08_updateTaskInfo_post_rightdata(self):
    res1 = self.client.post('/equip/API/UpdateEquipStatus/', data=self.equipStatus_data)
    res = self.client.post('/equip/API/UpdateTaskInfo/', data=self.taskInfo_data)
    res_dict = json.loads(str(res.content,'utf-8'))
    self.assertEqual(res_dict['ReturnCode'], 200)
  1. 注意点:构建原变量的错误变量时,记得用.copy的方式构建,避免直接赋值,会改变原来的引用变量中的结果
# 正确的赋值方式
reg_errordata = self.register_data.copy()
reg_errordata['equipType'] = 'TestType2'

# 错误的赋值方式,self.register_data被改变了
reg_errordata = self.register_data
reg_errordata['equipType'] = 'TestType2'

相关文章

  • Django test.py 正确解锁方式

    首先Django的test也是直接调用的unittest规则,所以,建议在有顺序执行的TestCase中使用0-9...

  • 跑步的正确解锁方式

    以前,跑步的时候喜欢,播放着音乐或有声书,总觉得这样的背景音乐和跑步更配。耳朵里有声音,脚步下有节奏,这样的跑...

  • Testing - Django REST framework

    测试-Django REST框架 test.py 测试 没有测试的代码会按设计中断。— 雅各布·卡普兰-莫斯 RE...

  • 解锁“霉变”爱情的正确方式

    我不相信命运,我只相信我的手。我不相信手掌的纹路,但我相信手掌加上手指的力量。——毕淑敏《握紧你的右手》 人生来平...

  • 08 Django中render和HttpResponse的使用

    Django作为一个后台框架,如何将数据正确的传递给前端呢?这得根据前端不同的数据请求方式,正确的使用render...

  • 解锁内调的保养的正确方式

    解锁内调保养正确方式✔️不知不觉喝了很多vimi了,为自己的容颜打下的江山,真的很酷!vimi胶原蛋白,一瓶在手,...

  • 与孩子沟通的正确解锁方式

    常常看到一些家长在孩子犯错误的时候,因为找不到合理的解决方案,于是就开始发狂。对着孩子大吼大叫,仿佛不喊不叫就解决...

  • django入门

    开发django前首先确定是否正确安装django确认命令使用: python -m django version...

  • nginx 403 forbidden

    首先确保虚拟主机路径配置正确 nginx django .conf 配置nginx python Django 集...

  • Python的Django框架的运行方式及处理流程

    Django项目的运行方式和对Request的基本处理流程。 一、Django的运行方式 运行Django项目的方...

网友评论

    本文标题:Django test.py 正确解锁方式

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