老师始终没看懂您的源代码,请看截图,麻烦您解答下我的疑问
来源:5-2 case中如何进行mock数据
慕的地6472387
2020-03-26
写回答
2回答
-
小白求学
2020-03-27
第一个问题:res=post_request这个,这里的post_request 并不是post_request(url,data)这个函数,而是success_test。你没看到在res=post_request 这句上面有一句post_request=success_test吗?所以后面的res()并非调用了post_request(url,data), 而是调用了success_test所指向的mock.Mock()。这个方法只有一个返回值,data。所以调用后的结果就是data的值,也就是username
第二个问题:print(success_test) 这个你已经理解了,是打印这个变量所指的地址值。而print(success_test())是指打印success_test()这个函数的执行结果。函数名加上()就代表调用。所以打印的是调用结果。而sucess_test()的执行结果,实际上就是mock.Mock(return_value=data)的执行结果,也就是data。所以结果就是{'username':'111111'}
512020-03-28 -
Mushishi
2020-03-26
哈哈,不错不错,这个是我写的不严谨。就是他上面已经背mock调了
00
相似问题