今天给大家伙儿唠唠这个 GO MONKEY,这玩意儿可真是帮我大忙!
我这不是在整一个项目嘛需要各种测试。测试就得打桩,传统方法弄起来,那叫一个麻烦!后来我发现 GO MONKEY 这个宝贝,简直是救星!
我记得特清楚,我先是去网上扒拉这个工具。找到一个叫 gomonkey 的,说是挺好使。我就去翻翻,在一个叫 github 的地方找到它, 下载安装包,解压安装一条龙,还挺顺利。
装好之后,咋用?
我研究一下,发现这玩意儿主要就是用来打桩的。啥是打桩?简单说,就是把你程序里一些不好测试的部分,给替换成你想要的。这样测试起来就方便多。
GO MONKEY 提供两种主要的用法:
- 函数接口: 简单粗暴,直接把你想要替换的函数,换成你自己的。
- 成员方法接口: 这个稍微高级点,可以替换掉某个对象的方法。
我先试试函数接口。真好使!几行代码,就把一个复杂的函数给替换掉,测试起来那叫一个爽!
后来我又试试成员方法接口。这个稍微复杂点,但是也还照着例子鼓捣鼓捣,也弄明白。
实践出真知
光说不练假把式,我可是实实在在地用 GO MONKEY 解决项目里的大问题。之前,有一个模块,依赖于一个外部的服务。测试的时候,这个外部服务老是出问题,搞得我头都大。用 GO MONKEY,我直接把这个外部服务的调用给替换掉,模拟各种情况,测试起来再也不用担心外部服务挂掉!
GO MONKEY 这玩意儿,真是个好东西!它让我在测试的时候,省不少事儿。我现在写测试,都离不开它。强烈推荐给大家伙儿,特别是那些经常被测试折磨得死去活来的朋友们!
对,我还看到一些关于 "Go Monkey" 的其他东西,像什么 PP 助手、九游、豌豆荚,好像是和游戏相关的,具体是啥我也不太懂。还有个歌手也唱个歌叫 "Go Monkey",有机会可以去听听看。
我今天说的 GO MONKEY,主要是指那个用来打桩的工具。希望我这番分享,能对大家伙儿有所帮助!