从品牌网站建设到网络营销策划,从策略到执行的一站式服务
这篇文章主要介绍怎么处理python单元测试中的请求?,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
十多年的齐齐哈尔网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都营销网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整齐齐哈尔建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“齐齐哈尔网站设计”,“齐齐哈尔网站推广”以来,每个客户项目都认真落实执行。
之前有同学问到如何处理和数据库的交互以及网络请求,结合自己之前写单元测试的一些经验说一下:
处理数据库请求:目前我看到有两种方式。无论使用那种方式,尽量保证数据测试的时候插入,使用完成就销毁。这样换个平台依然很容易构造测试 ,也容易在 CI 系统跑。
使用 fixture 类装饰器在一个 TestCase 运行前插入数据到测试数据库。大概就是 fixture 接收一个参数 sql 文件名,然后读取数据插入数据库
在 TestCase 的 setup 里插入数据,在 teardown 里销毁。
@fixture('table.sql') class SomeTestCase: pass class SomeTestCase: def setUp(self): # insert value def tearDown(self): # destroy value
处理外部网络调用。依旧有两种方式
stub: 用来处理一些比较通用的请求,比如一个发号器代码
mock: 使用最多的替换掉网络请求的方式,几乎所有场景下都可以用。个人推荐所有网络请求和 rpc 调用等都可以用 mock.patch 来模拟返回值
@registry.stub class ZoneSeqStub(BaseStub): def id(self): return 'zone:///seqd' @stub('Seq.get_id') def get_id(self, **kwargs): return random.randint(1, 100) class TestCase: @mock.patch('somemodule.request') def test_function(self, mock_request): mock_request.return_value = {} # 构造期望的返回值,我们默认外部调用按照约定是可以工作的,不会对其测试
以上是怎么处理python单元测试中的请求?的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图