最近在给rabbitmMQ客户端插件写测试用例的时候发现也太难去处理测试用例了,利用workerman event-loop的rabbitmq基础客户端Bunny在网络请求的时候使用的event-loop的add及timer,如果我需要mock或者捕获我的参数及结果的时候实在比较复杂,如果workerman的event-loop拥有基础事件,我能够注入一些回调函数来进行数据拦截的话可能会好一些;
不知道workerman啥时候有空完善分享一下测试,也可能需要我有时间的时候先为workerman补充测试用例了;
测试用例有挺多的好处,比如:
如果我来进行测试用例的补充和围绕测试做调整,这里有几个疑问:
_getEventLoop()
等内部接口方法,但该方法仅用于测试,而不作为开放接口堆外使用;不知道亮哥是否有计划做 workerman 规范迭代的计划,比如制订一些约定,以便于workerman开源社区的开发者更好的参与开源开发?
当然以上仅为一些吐槽和建议,因为在我看来,非死抠条款的约定有利于开源的发展及代码维护,不论 workerman官方在某一天是否还会继续维护,整个PHP开源社区都可以依照相应的约定继续 “接盘”,包括延申的周边产品都可以“续命”,我个人认为这是一件百利无一害的规划内容。
给workerman增加测试用例是一直想做的事情。欢迎 @chaz6chez 对workerman做测试用例补充和调整。
1、workerman本身要求php>=7.0,其它本身没有强制的外部依赖
2、master是5.0分支,建议直接先给5.0增加测试用例
3、对于核心代码调整。workerman的有些代码规范可能不符合大部分开发者的习惯,例如 私有属性以
_
为前缀,变量名是小写加_
形式,类似这些都可以更改成符合大部分人习惯的规范。关于为了测试用例增加接口的问题,是否可以考虑在测试用例中写一个继承类,继承类里实现这些接口,这样就不影响内核接口了。对外提供的接口为了向下兼容不能有大幅度变动,其它内部实现不合理的、不符合普遍规范的都可以做修改。关于规范问题,@chaz6chez 愿意的话可以出一个通用的规范,大家一同遵守。如果需要我这做协助的随时提。
ok,那我先按照这个来尝试实现一些测试用例,我会尽可能不修改接口而采用新增的方式来满足测试需求,如果遇到比较棘手的问题时,我会先提issue描述沟通;另外我的英文比较chinglish,我可能大部分使用中文的git commit message
没问题