1212mock进阶

常见的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