ºìÁªLinuxÃÅ»§
Linux°ïÖú

Ä£Äâ·þÎñÆ÷Moco 0.10.0·¢²¼

·¢²¼Ê±¼ä:2014-12-04 09:13:13À´Ô´:ºìÁª×÷Õß:empast
ÎҺܸßÐ˵ØÐû²¼£¬Moco 0.10.0·¢²¼ÁË¡£

MocoÊÇʲô£¿

MocoÊÇÒ»¸ö¿ÉÒÔÇáËɴ²âÊÔ·þÎñÆ÷µÄ¿ò¼Ü/¹¤¾ß/³ÌÐò¿â¡£

±ä¸ü

±¾´Î·¢²¼×î´óµÄ±ä¸üÊǼÓÈëÁËSocketµÄÖ§³Ö¡£

³ýÁËHTTP£¬SocketÊÇÁíÒ»ÖÖ³£¼ûµÄ¼¯³É·½Ê½£¬¶ÔSocketµÄÖ§³ÖÈÃMocoÄܹ»¸üÎªÈ«ÃæµØ¶Ô¼¯³É½øÐÐÖ§³Ö¡£´´½¨Ò»¸öSocketµÄ·þÎñÆ÷£¬¿ÉÒÔ²ÉÓÃsocketServer£º

final SocketServer server = socketServer(12306);

ÓëHTTPÖ§³ÖÀàËÆ£¬Socket·þÎñÆ÷Ò²ÊÇÐèÒªÉ趨ÇëÇóÒÔ¼°¶ÔÓ¦µÄÓ¦´ð£º

server.request(by("foo")).response("bar");

ÓëHTTP±¾ÉíÖ§³ÖºÜ¶à²ÎÊý²»Í¬£¬SocketÖ»Ö§³ÖÓëÄÚÈÝÏà¹ØµÄ²¿·Ö£¬±ÈÈ磬text¡¢file¡¢xml¡¢json¡¢match¡¢exist¡¢latency¡¢templateµÈµÈ¡£¸ü¶àϸ½Ú£¬Çë²Î¼ûSocket APIµÄÎĵµ¡£

ÒòΪÔö¼ÓÁ˲»Í¬µÄ·þÎñÆ÷ÀàÐÍ£¬Moco¶ÀÁ¢·þÎñÆ÷µÄÆô¶¯²ÎÊýÒ²ÓÐËùµ÷Õû£¬Ô­À´µÄÒ»¸östartÒѾ­²»×ãÒÔÂú×ãÐèÒªÁË¡£ÔÚ×îеİ汾ÖУ¬Äã¿ÉÒÔ¸ù¾Ý·þÎñÀàÐͼÇÐÔÆô¶¯£¬±ÈÈ磬Æô¶¯Ò»¸öSocket·þÎñÆ÷µÄ·½Ê½ÈçÏ£º

java -jar moco-runner--standalone.jar socket -p 12306 -c foo.json

HTTPºÍHTTPS·þÎñÆ÷µÄÆô¶¯²ÎÊý·Ö±ð¶ÔÓ¦×ÅhttpºÍhttps£¬ÎªÁ˼æÈÝÔ­Óа汾£¬startÒÀÈ»µÃµ½±£Áô£¬µ«²»È·¶¨Î´À´ÊÇ·ñ»á³¤ÆÚ´æÔÚÏÂÈ¥¡£

Õâ¸ö°æ±¾Ôö¼ÓÁËÒ»¸öÐí¶àÈËÒªÇóµÄÐÂÌØÐÔ£¬ÔÚJava´úÂëÖпÉÒÔʹÓÃJSONÅäÖÃÎļþ¡£ÕâÖÖÓ÷¨ÓëMocoÉè¼ÆJSON APIµÄ³õÖÔÓкܴó²î±ð£¬µ«ÔÚʵ¼ÊµÄʹÓÃÖУ¬È·ÊµÓкܶàÈËÕâôÓã¬ËùÒÔ£¬ÔÚÕâ¸ö°æ±¾ÀïÌṩÁËÒ»¸ö¸ü¼ò½àµÄAPI£¬²»¹ý£¬Õâ¸öAPI´æÔÚÓÚMoco Runner°üÖУº

jsonHttpServer(12306, file("foo.json"));

ÔÚAPI·½Ã棬

Ôö¼Óattachment API£¬Ö±½Ó¶ÔÏÂÔØ¸½¼þÌṩ֧³Ö¡£

Ôö¼ÓÁËtemplateÌáÈ¡Æ÷µÄÖ§³Ö£¬±ÈÈ磬ÈçÏ´úÂë¾Í»á´ÓÇëÇóÖÐÌáÈ¡ÄÚÈÝ×÷ΪӦ´ð·µ»ØÖµ¡£
server.response(template("${foo}", "foo", jsonPath("$.book.price")));


ÔÚMoco¶ÀÁ¢·þÎñÆ÷ºÍshell°æ±¾£¬Ôö¼ÓÁ˰汾²éѯ¹¦ÄÜ£¬ÒÔ±ã¶ÔһЩÍⲿ¹¤¾ß½øÐÐÖ§³Ö¡£

ÁíÍ⣬ÓÉÓÚJSON Pathµ×²ãʵÏÖµÄÉý¼¶£¬¿ÉÄÜ»áÒýÈëÒ»Ð©ÆÆ»µÐԵı仯£¬Èç¹ûÄãÓõ½JSON Path API£¬Çë×¢Òâ¡£

¸ü¶à·¢²¼Ïà¹ØÐÅÏ¢£¬Çë²Î¿¼Release Notes¡£

¸Ðл

¸ÐлAlex Soto£¬ÌṩMoco·þÎñ¹Ø±ÕµÄ½â¾ö·½°¸£¬ÔöÇ¿ÁËMoco·þÎñÆ÷µÄÎȶ¨ÐÔ¡£
¸Ðл·½Ö¾¸Õ£¬ÌṩMocoµÄShell°æ±¾ÔÚCygwinÏÂÔËÐеÄÖ§³Ö¡£

Èí¼þÏêÇ飺https://github.com/dreamhead/moco/blob/master/moco-doc/ReleaseNotes.md

ÏÂÔØµØÖ·£ºhttps://github.com/dreamhead/moco/

À´×Ô:¿ªÔ´ÖйúÉçÇø
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ