前两天面试时,被问到 mock 写入时,不知道是什么,我去百度查了一下,也没有查到相关的内容,有朋友知道嘛,我只知道 mock 返回。
这要结合上下文语境来猜测了 ,别人具体是问 mock 写入时,XXXXXX?
曾经有个产品经理问我, 你们什么时候 穿越测试?
mock 不晓得那个龟孙子 提得名字; 至少我理解不来,
但是看到你的描述我大概明白你的意思;
说吧了就是为了达到某种目的;但是呢 又得不到支持,却要获得数据,而进行下一步的动作 ;
这个事情 就是 “” 挡板 “” 嘛 ; 你自己规定 什么样的数据 输入、返回什么样的 数据,引导到那个系统嘛 ;
这个 呢 和 那个那个,“” 前置条件插件 “” 有异曲同工之妙; 在直接的理解 就是 url 路由嘛 ;
我不晓得,我的理解是不是正确的;
那既然我理解的是正确的,那不就简单了么(mock 源码我没有看过,我就说业务) 逻辑判断 if else 应该会写吧 ,目标跳转的系统 应该明白, 那就是 一个 文件么, 对不同的地址 和 请求数据 进行判断 ,然后 跳转的 符合你心里目标的 的系统中;
就是过程比较麻烦; 可是搞一次 后面就可以再次时间使用了, python 有直接支持的 mock 库(pip install mock ),直接可以使用; java 的我不太关注,抱歉了
对测试数据的管理?
不知道 mock 写入,是不是类似这样的场景?
一个添加用户操作,需要写一堆转换逻辑,然后往真实 db 写入,写入完再继续转换。
而此时测试主要想测转换逻辑,但不想真实地进行 db 写入(比如想降低环境要求,或者 db 写入有幂等校验,第二次写入无效导致不满足可重复的测试等)。
那这个时候,就可以通过 mock 把 db 写入变成一个虚假操作,指定返回成功。单测时不调用真实 db 组件进行写入。而校验条件则是是否有调用写入 db 的函数、调用的参数是否正确。
具体框架实现,可以参考 https://www.jianshu.com/p/a07ac78a6d86
我们一般 mock 返回数据是 map loacl,她说的是不是 map remote?
远程这种一般是在什么场景下呢
感觉这个和 python 的 mock 库差不多
response_data={''}
mock_method=mock.Mock(return_value=response_data)
ron=mock_method(url,headers)
return ron
建议完整回忆下问题的上下文?现在这个问题大家都一头雾水,各种回答好像有道理,但又好像和你想要的不一致,讨论不起来。
额,你没有再确认下,mock 写入大致指的是什么?
“mock 的写入” 这个术语我也是第一次听,能猜想的可能有两个:
1、mock 逻辑的写入。类似于 mock 规则怎么写
2、把应用中写入相关的逻辑 mock 掉
但真的无法确认是哪个。
有种对数据预处理(生成一堆可能的返回数据),返回时取预处理数据的感觉