Open xhd2015 opened 6 days ago
@anfreshman 可以在这个单独的issue里面进行讨论。
支持,目前我们在shopee内部就是这样用的。 我们的服务用xgo编译后部署到Preview环境(同Live环境,但是没有流量),能够支持我们在线上进行debug,以及你提到的mock。
由于你说的这些功能需求都是普遍存在的,我正在打算将这一部分代码也开放出来,但有许多工作要做。
不会。 我们在gitlab workflow中使用xgo进行单测,同时上报覆盖率进行分析。 因为xgo是对IR进行重写,而覆盖率是基于源代码重写的,所以xgo实际上并不会影响覆盖率统计。
不过反过来,因为覆盖率工具改变了源代码,所以覆盖率工具生成的代码对xgo有影响。所以实际上xgo针对生成的覆盖率统计代码进行识别,并且跳过.
@xhd2015 感谢回复,这边正在调研各个开源库,xgo看起来非常值得作为一个golang流量回放 & 变异测试的探索方案,非常期待后续的动态mock方案开源。 关于动态mock这部分我们是否有一些可以公布的节奏或开源计划?
动态Mock的方案是比较简单的,但由于目前的内部实现与我们所使用的go框架耦合在一起,所以需要一定的时间进行拆分。
除了动态Mock之外,还有Trace也是类似的。
你们的调研时间线是怎样的?以及具体会怎么使用mock(以及可能的trace)?
我们这边时间暂时比较宽裕,还是预调研阶段,人力不是很充足,可能期望Q4会有一个demo,但按优先级也可能顺延到明年Q1 我们的需求: 团队在向golang转型,原有的java流量回放平台无法支撑golang服务,需要针对golang服务建立一套新的流量回放平台,期望选用的方案会持续支持新的go版本、同时对研发尽量无感,接入时不要侵入业务代码、不要过于影响性能、同时可以较为方便的拔插 目前对比了一些网络层录制与源码库层面录制的方案,还没找到特别满意的方案 我们的用法: mock部分:希望可以通过xgo拦截并mock HTTP调用、gRPC调用、MySQL调用、Redis调用,且这种mock需要可以通过traceid与其他所需特征做串联(这部分可能和业务框架有些耦合,应该会是团队内部实现),同时可以动态改变mock值、可热拔插开启或关闭mock trace部分:目前看不是重点,我认为这个功能在精准测试领域可能有很大的发挥空间,但受限于资源可能短期内不会在这方面做落地
感谢分享,抽空整理下现有的mock逻辑。
Quote from here: https://github.com/xhd2015/xgo/issues/7#issuecomment-2345326021
Originally posted by @anfreshman