如果django里的视图是类(CBV),应该如何写Url的测试用例?

本文深入探讨了使用Django进行单元测试的方法,通过具体案例展示了如何验证视图的响应状态码和URL解析,提供了官方文档中关于测试工具的实用链接。

晚上回家测试了很多方式,都不行。

网上搜索找不到答案,

最后还是官方文档最抵用呢。

https://docs.djangoproject.com/en/2.1/topics/testing/tools/

# my_view here is a function based view
self.assertEqual(response.resolver_match.func, my_view)

# class-based views need to be compared by name, as the functions
# generated by as_view() won't be equal
self.assertEqual(response.resolver_match.func.__name__, MyView.as_view().__name__)

 

from django.test import TestCase
from django.urls import resolve, reverse

from .urls import ServerInputListView, ServerInputCreateView


class UrlTests(TestCase):

    def test_server_list_view_status_code(self):
        url = reverse('serverinput:list')
        response = self.client.get(url)
        self.assertEqual(response.status_code, 302)

    def test_server_create_view_status_code(self):
        url = reverse('serverinput:create')
        response = self.client.get(url)
        self.assertEqual(response.status_code, 302)

    def test_server_list_url_resolves_get_classes_view(self):
        view = resolve('/server/list/')
        self.assertEqual(view.func.__name__, ServerInputListView.as_view().__name__)

    def test_server_create_url_resolves_get_classes_view(self):
        view = resolve('/server/create/')
        self.assertEqual(view.func.__name__, ServerInputCreateView.as_view().__name__)

在全栈测试开发中,利用Django框架来设计和管理自动化测试用例是一个高效的方式。首先,你需要理解Django提供的模型系统可以用来创建测试用例的数据结构。通过定义模型,你可以轻松地生成测试数据,这在测试中是非常必要的。 参考资源链接:[Python全栈测试开发实战:Django、Vue与自动化测试](https://wenku.csdn.net/doc/3th29bq9c5?spm=1055.2569.3001.10343) 接着,利用Django视图层功能,可以实现自动化测试用例的管理界面,使得测试用例的创建、编辑、运行和结果查看更加直观方便。Django的模板渲染功能则可以用来展示测试结果的报告,例如成功或失败的测试用例数量、执行时间等。 此外,DjangoURL路由系统可以用来映射不同的测试用例测试组到相应的视图处理函数,从而实现对测试流程的精细控制。通过编自定义的中间件,还可以在测试用例执行前后插入额外的逻辑,如日志记录、权限验证等。 在实际操作中,可以结合Django REST framework,这不仅可以用来开发Web API,也可以用来构建自动化测试的API接口,使得前端的自动化测试工具如Selenium或Appium能与后端测试用例进行通信。 总之,通过《Python全栈测试开发实战:Django、Vue与自动化测试》视频教程中的内容,你可以学习到如何利用Django框架的这些特性来设计和管理自动化测试用例,从而提高测试的效率和质量。课程中不仅介绍了理论知识,还提供了大量的实战案例和项目,帮助你快速掌握这些技能,并在实际工作中应用它们。 参考资源链接:[Python全栈测试开发实战:Django、Vue与自动化测试](https://wenku.csdn.net/doc/3th29bq9c5?spm=1055.2569.3001.10343)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值