常见的mock相关概念解释
hook原理
void foo(){
// BEFORE-EVENT
try {
/*
* do something...
*/
try{
//LINE-EVENT
//CALL_BEFORE-EVENT
a();
//CALL_RETURN-EVENT
} catch (Throwable cause) {
// CALL_THROWS-EVENT
}
//LiNE-EVENT
// RETURN-EVENT
return;
} catch (Throwable cause) {
// THROWS-EVENT
}
}
自定义mock
https://github.com/lightbody/browsermob-proxy
524 curl -X POST http://localhost:8090/proxy/ -d 'port=8092'
525 curl -X PUT http://localhost:8090/proxy/8092/har -d '{"captureHeaders": true, "captureCookies": true, "captureContent": true}'
526 curl -k https://ceshiren.com/categories.json -x http://127.0.0.1:8092
527 curl -X GET http://localhost:8090/proxy/8092/har
521 curl -X DELETE http://localhost:8090/proxy/8092
mock平台
- web ui spring boot、sparkjava
- backend: 启动wiremock、bmp, 只是启动实例
- wiremock或者bmp的调用,利用之前启动的实例去调用具体的mock规则
- 结果展现
https://github.com/YMFE/yapi