ÀÖÓãµç¾º

½ÌÓýÐÐÒµA¹ÉIPOµÚÒ»¹É£¨¹ÉƱ´úÂë 003032£©

È«¹ú×Éѯ/ͶËßÈÈÏߣº400-618-4000

ÈçºÎʹÓÃmoco¿ò¼Ü´î½¨½Ó¿Úmock·þÎñ£¿

¸üÐÂʱ¼ä:2020Äê07ÔÂ14ÈÕ16ʱ18·Ö À´Ô´:ÀÖÓã²¥¿Í ä¯ÀÀ´ÎÊý:

1¡¢Ê²Ã´ÊǽӿÚMock²âÊÔ?

Ó¦Ó󡾰˼¿¼?
1.ÔÚǰºó¶Ë·ÖÀëµÄÏîÄ¿ÖУ¬¼ÙÈçºó¶Ë´úÂ뻹먦·¢Í꣬ǰ¶Ë´úÂëÐèÒªµ÷Óúó¶Ë½Ó¿Ú½øÐе÷ÊÔ£¬¸ÃÔõô°ì?
2.±¾¹«Ë¾µÄµçÉÌÆ½Ì¨ÐèÒª¶Ô½ÓµÚÈý·½Ö§¸¶½Ó¿Ú£¬ÈçºÎ²âÊÔÖ§¸¶Ê§°ÜµÄ³¡¾°?

1.1 ¸ÅÄî

Mock£ºÄ£ÄâµÄ¡¢·ÂÖÆµÄ¡¢Ðé¼ÙµÄ

Mock²âÊÔ£ºÔÚ²âÊÔ¹ý³ÌÖУ¬¶ÔÓÚijЩ²»ÈÝÒ×¹¹Ôì»òÕß²»ÈÝÒ×»ñÈ¡µÄ¶ÔÏ󣬿ÉÒÔÓÃÒ»¸öÐéÄâµÄ¶ÔÏóÀ´´úÌæµÄ²âÊÔ·½·¨¡£

½Ó¿ÚMock²âÊÔ£ºÔÚ½Ó¿Ú²âÊÔ¹ý³ÌÖУ¬¶ÔÓÚijЩ²»ÈÝÒ×¹¹Ôì»òÕß²»ÈÝÒ×»ñÈ¡µÄ½Ó¿Ú£¬¿ÉÒÔÓÃÒ»¸öÄ£Äâ½Ó¿ÚÀ´´úÌæ¡£

1.2 ×÷ÓÃ

¿ÉÒÔÓÃÀ´½â³ý²âÊÔ¶ÔÏó¶ÔÍⲿ·þÎñµÄÒÀÀµ£¬Ê¹µÃ²âÊÔÓÃÀý¿ÉÒÔ¶ÀÁ¢ÔËÐÐ

Ìæ»»Íⲿ·þÎñµ÷ÓûòһЩËٶȽÏÂýµÄ²Ù×÷£¬ÌáÉý²âÊÔÓÃÀýµÄÔËÐÐËÙ¶È

Ä£ÄâÒì³£Âß¼­£¬Òì³£Âß¼­ÍùÍùºÜÄÑ´¥·¢£¬Í¨¹ýMock¿ÉÒÔÈËΪµÄ¿ØÖÆ´¥·¢Òì³£Âß¼­

ÍŶӿÉÒÔ²¢Ðй¤×÷

1.3 ʵÏÖ·½Ê½

½Ó¿ÚmockʵÏֵĺËÐÄ˼ÏëÊǴһ¸öMock Server£¬Í¨¹ý¸Ã·þÎñÌṩmock½Ó¿Ú¡£³£¼ûµÄʵÏÖ·½Ê½ÓУº

ʹÓõÚÈý·½mockƽ̨

×Ô¼º¿ª·¢mock·þÎñ

ʹÓÃmock¿ò¼Ü´î½¨mock·þÎñ

2. Moco¿ò¼Ü

2.1 Moco¼ò½é

MocoÊÇÒ»¸ö¼òµ¥´î½¨Ä£Äâ·þÎñÆ÷µÄ¿ò¼Ü(¹¤¾ß)£¬¿ÉÒÔÄ£Äâhttp¡¢https¡¢socketµÈЭÒé

»ùÓÚJava¿ª·¢µÄ¿ªÔ´ÏîÄ¿£¬GithubµØÖ·£ºhttps://github.com/dreamhead/moco

Ô­Àí£ºMoco»á¸ù¾ÝһЩÅäÖã¬Æô¶¯Ò»¸öÕæÕýµÄHTTP·þÎñ(»á¼àÌý±¾µØµÄij¸ö¶Ë¿Ú)¡£µ±·¢ÆðµÄÇëÇóÂú×ãij¸öÌõ¼þʱ£¬¾Í»á·µ»ØÖ¸¶¨µÄÏìÓ¦Êý¾Ý¡£

2.2 »·¾³´î½¨

MocoÔËÐÐʱËùÐè»·¾³°üÀ¨£º

JavaÔËÐл·¾³

°²×°JDK£¬²¢ÅäÖû·¾³±äÁ¿

moco-runner-1.1.0-standalone.jar

ÏÂÔØµØÖ·£ºhttps://repo1.maven.org/maven2/com/github/dreamhead/moco-runner/1.1.0/moco-runner-1.1.0-standalone.jar


2.3 ÈçºÎÔËÐÐMoco

1>´´½¨ÅäÖÃÎļþ

´´½¨ÅäÖÃÎļþtest.json£¬²¢ÊäÈëÈçÏÂÄÚÈÝ£º

[

    {

        "description": "Ê×Ò³",

        "request": {

            "uri": "/index"

        },

        "response": {

            "text": "hello world"

        }

    }

]

2>Æô¶¯http·þÎñ

Æô¶¯ÃüÁ

java -jar <path-to-moco-runner> http -p <monitor-port> -c <configuration-file>

ʾÀý£º

java -jar moco-runner-1.1.0-standalone.jar http -p 9090 -c test.json

3>½Ó¿Ú·ÃÎÊ

´ò¿ªä¯ÀÀÆ÷£¬ÔÚä¯ÀÀÆ÷µØÖ·À¸ÖÐÊäÈ룺http://localhost:9090/index

1594714262878_½Ó¿ÚMock²âÊÔ01.jpg


2.4 Moco³£ÓÃÅäÖòÎÊý

1.¶¨ÒåÇëÇó·½Ê½£¬Í¨¹ýmethod²ÎÊý¶¨Òå

[

    {

        "description": "Ê×Ò³",

        "request": {

            "uri": "/index",

            "method": "post"

    },

        "response": {

            "text": "hello world"

        }

    }

]

2.¶¨ÒåÇëÇó²ÎÊý£¬Í¨¹ýqueries²ÎÊý¶¨Òå

[

    {

        "description": "Ê×Ò³",

        "request": {

            "uri": "/index",

            "method": "get",

            "queries": {

                "area": "010",

                "kw": "hello"

            }

    },

    "response": {

        "text": "hello world"

    }

    }

]


3.¶¨ÒåÇëÇóÍ·£¬Í¨¹ýheaders²ÎÊý¶¨Òå

[

    {

        "description": "µÇ¼",

        "request": {

            "uri": "/login",

            "method": "post",

            "headers": {

                "area": "010"

            }

        },

        "response": {

            "text": "hello world"

        }

    }

]

4¡¢¶¨Òå±íµ¥ÇëÇóÌ壬ͨ¹ý`forms`²ÎÊý¶¨Òå

[

    {

        "description": "µÇ¼",

        "request": {

            "uri": "/login",

            "method": "post",

            "forms": {

                "username": "tom",

                "password": "123456"

        }

    },

    "response": {

        "text": "login success"

        }

    }

]

5¡¢¶¨ÒåJSONÇëÇóÌ壬ͨ¹ý`json`²ÎÊý¶¨Òå

[

    {

        "description": "µÇ¼",

        "request": {

            "uri": "/login",

            "method": "post",

            "headers": {

                "Content-Type": "application/json"

            },

            "json": {

                "username": "tom",

                "password": "123456"

            }

        },

        "response": {

            "text": "hello world66666"

        }

    }

]


6¡¢¶¨ÒåHTTPÏìӦ״̬Â룬ͨ¹ý`status`²ÎÊý¶¨Òå

[

    {

        "description": "Ê×Ò³",

        "request": {

            "uri": "/index2"

        },

        "response": {

            "status": 500,

            "text": "error"

        }

    }

]

7¡¢¶¨ÒåJSONÏìÓ¦Êý¾Ý£¬Í¨¹ýjson²ÎÊý¶¨Òå

[

    {

        "description": "µÇ¼",

        "request": {

            "uri": "/login"

        },

        "response": {

            "headers": {

                "Content-Type": "application/json;charset=UTF-8"

            },

        "json": {

            "code": "10000",

            "msg": "²Ù×÷³É¹¦",

            "data": {

                "uid": 2,

                "token": "xxx"

            }

        }

    }

    }

]

2.5 MocoÒýÈëÅäÖÃÎļþ

mocoÖ§³ÖÔÚÅäÖÃÎļþÖÐÒýÈëÆäËûÅäÖÃÎļþ£¬ÕâÑù¿ÉÒÔ·Ö·þÎñ/Ä£¿é¶¨ÒåÅäÖÃÎļþ£¬±ãÓÚ¶ÔÅäÖÃÎļþµÄ¹ÜÀí¡£

ʵÏÖ²½Ö裺

1.·Ö·þÎñ/Ä£¿é¶¨ÒåÅäÖÃÎļþ£¬Èç·Ö±ð¶¨Òåindex.jsonºÍlogin.jsonÎļþ

[

    {

        "description": "Ê×Ò³",

        "request": {

            "uri": "/index"

        },

        "response": {

            "text": "hello world"

        }

    }

]

[

    {

        "description": "µÇ¼",

        "request": {

            "uri": "/login"

        },

        "response": {

            "text": "success"

        }

    }

]

2.¶¨ÒåÆô¶¯ÅäÖÃÎļþ£¬Èçconfig.json²¢ÒýÈëÆäËûÅäÖÃÎļþ

[

    {"include": "index.json"},

    {"include": "login.json"}

]

3.Æô¶¯·þÎñ

java -jar moco-runner-1.1.0-standalone.jar http -p 9090 -g config.json

×¢Ò⣺ͨ¹ý"-g config.json"Ö¸¶¨ÅäÖÃÎļþ

²ÂÄãϲ»¶£º
Èí¼þ²âÊÔÅàѵ¿Î³Ì
ʲôÊǹØÏµÐÍÊý¾Ý¿â?¿´ÕâÕÅͼ¾Í¶®ÁË
×îÈ«µÄÈí¼þ²âÊÔÃæÊÔÌâ(º¬´ð°¸)

0 ·ÖÏíµ½£º
ºÍÎÒÃÇÔÚÏß½»Ì¸£¡
¡¾ÍøÕ¾µØÍ¼¡¿¡¾sitemap¡¿