韩漫免费漫画在线观看方法,《好好疼爱里面》免费看,年轻漂亮的女士护士内衣,妈妈醉酒后把我当爸爸电视剧

文章 > Python基础教程 > 如何处理单元测试中的请求?

如何处理单元测试中的请求?

头像

2020-11-06 15:17:202225浏览 · 0收藏 · 0评论

代码对学习编程的人来说至关重要。学过单元测试基础知识后,我们就可以去测试一些数据库。一些数据库和网络的请求难住了一些小伙伴,今天我们就来一起看看怎么处理吧。


之前有同学问到如何处理和数据库的交互以及网络请求,结合自己之前写单元测试的一些经验说一下:

  • 处理数据库请求:目前我看到有两种方式。无论使用那种方式,尽量保证数据测试的时候插入,使用完成就销毁。这样换个平台依然很容易构造测试 ,也容易在 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学习推荐:PyThon学习网教学中心

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

《尼姑庵春梦》| 美国式禁忌| 日本高清WWW在线观看视频| 玉女心经2:阴阳合欢李丽珍| 医生一直揉白带湿漉漉的正常吗| 亚洲尺码和欧洲尺码的| 免费观看已满十八岁电视剧在线播.| 《老公今晚我加班》免费阅读| 漫画| 美女和帅哥一起努力生产豆浆 | 女人的滋味| 灯草和尚 小说| 儿媳的报复(公媳)(一颗发财树..| 三年大片免费观看完整版高清| 美国大片又大又好看的PPT| 《共享弟夫》动漫在线观看免费| 《父债女偿》在线观看全集| 夜半梳头在线观看| 《军妓肉体》在线观看| 亚洲AV无码精品色午夜蜜桃| 掀开超短裙老师的裙子挺进去| 17.C1起草视频| 丰年经继拇中文3的主要角色分析| 公司企业文化展示墙| 午马影视免费观看电视剧 | 大美女图片现身大全的视频| 王叔我老公还在客厅呢什么小说| 18岁的少女与狗高清电视剧| 伦理《少妇的滋味》完整版| 《喂奶人妻厨房HD》| 《一滴都不许漏》何泽城林萌| 《湿点》未增减板相似| 《厨房韵母2》动漫下线了吗| 夫妻二人世界免费看第一集| 粗大的内捧猛烈进出校花H漫画小| 苍老师巅峰之作第37集| 苍老师巅峰之作第39集| 八戒八戒电影在线看免费观看8| 翘臀| 臣卜扌桑扌圭辶鬲的游戏| 换夫妻群交杂交