为red自动创建pytest帧和伪测试参数
auto-red-test的Python项目详细描述
项目描述
通过解析IDL自动生成PyTest单测框架, 通过Faker库辅助生成部分参数, 并且支持单测参数和单测逻辑的向后兼容
安装
pipinstallpytestpipinstallpyamlpipinstallFaker==1.0.4pipinstallbsonpipinstalldictdiffer
示例代码
fromauto_red_testimportgenerate_red_testfromframeimportENVfromhandler.stockage_handlerimportStockageHandler#需要单测的handlerimportstockage_service.request.ttypesastest_request#idl的request文件importstockage_service.StockageServiceastest_service#idl的service文件root_path=ENV['root']#项目的根目录#第二个参数可以是handler列表,但必须属于同一个servicegenerate_red_test(root_path,StockageHandler,test_service,test_request)
- 自动生成的单测框架如下:
补充内容
- 第一次运行会生成request_config.yaml,可以自定义单测方法的参数,用于解决一个单测方法用到多个request的特殊情况, 格式如下:
#配置单测参数methodA:request_A_name:request_A_obj_namerequest_B_name:request_A_obj_namemethodB:request_B_name:request_B_obj_namerequest_C_name:request_C_obj_name
methodA为单测方法名, request_A_name为请求参数名,request_A_obj_name为请求参数对应的IDL Request名