Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
΢·þÎñ²âÊÔÖ®µ¥Ôª²âÊÔ
 
×÷ÕߣºÍõÌï
  8385  次浏览      30
 2020-1-14
 
±à¼­ÍƼö:
±¾Æª·Ö±ð´Ó΢·þÎñ¼Ü¹¹Ï¿ªÕ¹µ¥Ôª²âÊÔµÄÒâÒå¡¢¶Ôµ¥Ôª²âÊԵij£¼ûÎó½âÒÔ¼°ÈçºÎ¿ªÕ¹µ¥Ôª²âÊÔÈý¸ö·½Ãæ½øÐнéÉÜÏ£Íû¶ÔÄúµÄѧϰÓÐËù°ïÖú¡£
±¾ÎÄÀ´×ÔÓÚÖªºõ £¬ÓÉ»ðÁú¹ûÈí¼þAlice±à¼­¡¢ÍƼö¡£

ÔÚ΢·þÎñ¼Ü¹¹Ï¸߸²¸ÇÂʵĵ¥Ôª²âÊÔÊDZ£ÕÏ´úÂëÖÊÁ¿µÄµÚÒ»µÀÒ²ÊÇ×îÖØÒªµÄ¹Ø¿Ú£¬Ó¦¸Ã³ÖÖ®ÒԺ㡣

±³¾°

µ¥Ôª²âÊÔΪ´úÂëÖÊÁ¿±£¼Ý»¤º½£¬ÊÇÌá¸ßÒµÎñÖÊÁ¿µÄ×îÖ±½ÓÊֶΣ¬Êµ¼ùÖ¤Ã÷£¬·Ç³£¶àµÄȱÏÝÍêÈ«¿ÉÒÔͨ¹ýµ¥Ôª²âÊÔÀ´·¢ÏÖ£¬²âÊÔ½ð×ÖËþÌá³öÕßMartin Fowler Ç¿µ÷Èç¹ûÒ»¸ö¸ß²ã²âÊÔʧ°ÜÁË£¬²»½ö½ö±íÃ÷¹¦ÄÜ´úÂëÖдæÔÚbug£¬»¹Òâζ×ŵ¥Ôª²âÊÔµÄǷȱ¡£Òò´Ë£¬ÎÞÂÛºÎʱÐÞ¸´Ê§°ÜµÄ¶Ëµ½¶Ë²âÊÔ£¬¶¼Ó¦¸ÃͬʱÌí¼ÓÏàÓ¦µÄµ¥Ôª²âÊÔ¡£ ¶øÔ½Ôç·¢ÏÖ·¢ÏÖBug£¬Ôì³ÉµÄÀ˷ѾͻáԽС£¬µ¥Ôª²âÊÔ±¾Éí¾ÍÄܹ»ÌṩÁË¿ìËÙ·´À¡µÄ»úÖÆ¡£ÁíÍ⣬µ¥Ôª²âÊÔÊÇÒ»¸öÓÅÐãµÄ¿ª·¢¹¤³Ìʦ±Ø±¸¼¼ÄÜÖ®Ò»£¬ÓÅÐãµÄµ¥Ôª²âÊÔÊÇÒµÎñ¿ìËÙͶ²úµÄ¼ÓËÙÆ÷¡£

µ¥Ôª²âÊÔµÄÒâÒå

ËäÈ»¶ÔÓÚ100%µÄµ¥Ôª²âÊÔ¸²¸ÇÂÊÎÒÃdzÖÓб£Áô̬¶È£¬µ«ÔÚÒ»¸ö΢·þÎñ¼Ü¹¹»ù´¡ÉèÊ©»¹²»ÍêÉÆ¡¢¿ª·¢ÈËÔ±ÄÜÁ¦²Î²î²»Æë¡¢DDD£¨ÁìÓòÇý¶¯Éè¼Æ£©ÄÜÁ¦²»×ãÒÔÓ¦¶Ô¸´ÔÓÒµÎñµÄÇé¿öÏ£¬µ¥Ôª²âÊÔÊÇÐÔ¼Û±È×î¸ßµÄʵ¼ù¡£µ¥Ôª²âÊÔ¿ÉÒԳ䵱һ¸öÉè¼Æ¹¤¾ß£¬ËüÓÐÖúÓÚ¿ª·¢ÈËԱȥ˼¿¼´úÂë½á¹¹µÄÉè¼Æ£¬ÈôúÂë¸ü¼ÓÓÐÀûÓÚ²âÊÔ£¬Âú×ã¼Ü¹¹µÄ¿É²âÐÔÉè¼ÆÒªÇó¡£

µ¥Ôª²âÊÔµÄÒâÒå°üÀ¨ÈçÏÂÄÚÈÝ£º

¾¡Ôç·¢ÏÖȱÏÝ£¬½µµÍ¿ª·¢Í¶Èë³É±¾

85%µÄȱÏÝÊÇ´úÂë½×¶Î²úÉúµÄ£¬µ¥Ôª²âÊԽ׶οÉÒÔ·¢ÏÖ¾ø´ó²¿·ÖÈí¼þȱÏÝ¡£Í¬Ê±Èí¼þ²úÆ·µÄȱÏÝ·¢ÏÖµÄÔ½ÔçÍùÍù»á´ó´óµÄ½µµÍÆä¿ª·¢µÄͶÈë³É±¾£¬ÆäȱÏݵķ¢ÏÖʱ¼äÓëÐÞ¸´È±Ïݵijɱ¾ÈçÏÂͼÖкìÉ«ÇúÏß¡£ºìÉ«ÇúÏß±íÃ÷Ëæ×ÅÈí¼þ¿ª·¢µÄ½øÐУ¬Â©¶´Ô½Ôç·¢ÏÖ£¬ÆäÐÞ¸´µÄ³É±¾Ô½µÍ£¬²¢ÇÒÆäÐÞ¸´³É±¾Ó뿪·¢½ø¶ÈµÄÉÏÉýÇ÷ÊÆÔ½ÔÚºóÆÚÔ½½Ó½üÓÚÖ¸ÊýÉÏÉý¡£

·ÅÐÄÖØ¹¹

ÎÞÂÛÊǶԵ¥ÌåÏîÄ¿»¹Êǵ¥ÌåÏîÄ¿Ïò΢·þÎñ¼Ü¹¹Ç¨ÒÆ£¬´úÂë¶¼ÔÚ²»¶ÏµÄÔڱ仯ºÍÖØ¹¹£¬Í¨¹ýµ¥Ôª²âÊÔ£¬¿ª·¢¿ÉÒÔ·ÅÐĵÄÐÞ¸ÄÖØ¹¹´úÂ룬¼õÉٸĴúÂëʱÐÄÀí¸ºµ££¬Ìá¸ßÖØ¹¹µÄ³É¹¦ÂÊ¡£

¸Ä½øÉè¼Æ

Ô½ÊÇÁ¼ºÃÉè¼ÆµÄ´úÂ룬ԽÈÝÒ×±àдµ¥Ôª²âÊÔ£¬¶à¸öСµÄ·½·¨µÄµ¥²âÒ»°ã±È´ó·½·¨£¨³É°ÙÉÏǧÐдúÂ룩µÄµ¥²â´úÂëÒª¼òµ¥¡¢ÒªÎȶ¨£¬Ò»¸öÒÀÀµ½Ó¿ÚµÄÀàÒ»°ã±ÈÒÀÀµ¾ßÌåʵÏÖµÄÀàÈÝÒײâÊÔ£¬ËùÒÔÔÚ±àдµ¥²âµÄ¹ý³ÌÖУ¬Èç¹û·¢ÏÖµ¥²â´úÂë·Ç³£ÄÑд£¬Ò»°ã±íÃ÷±»²âÊԵĴúÂë°üº¬ÁËÌ«¶àµÄÒÀÀµ»òÖ°Ôð£¬ÐèÒª·´Ë¼´úÂëµÄºÏÀíÐÔ£¬½ø¶øÍƽø´úÂëÉè¼ÆµÄÓÅ»¯£¬ÐγÉÕýÏòÑ­»·¡£

Ñ¡Ôñ²âÊÔÇý¶¯¿ª·¢£¨TDD£©µÄģʽ½øÐÐÏîÄ¿¿ª·¢£¬ÒÔµ¥Ôª²âÊÔÒýµ¼ÏîĿʵÏÖ¡£ÕâÖÖģʽϵ¥Ôª²âÊÔÏÈÐУ¬¸ù¾Ýµ¥Ôª²âÊÔ´úÂ뿪·¢¹¦ÄÜ´úÂ룬½ø¶ø·Ç³£¾«×¼µÄʵÏÖÒµÎñÐèÇ󣬼õÉÙ·µ¹¤ºÍȱÏÝÂÊ£¬¿ÉÌá¸ßÏîÄ¿ÖÊÁ¿ºÍЧÂÊ¡£

¡°µ¥Ôª²âÊԵij£¼ûÎó½â

µ¥Ôª²âÊÔÀË·ÑÁËÌ«¶àµÄʱ¼ä

ËäÈ»²»½øÐе¥Ôª²âÊÔ¿ÉÒÔ¸ü¿ìµÄ½»¸¶µ½ºóÐø²âÊԽ׶Σ¬µ«ÊÇÔÚºóÐø¼¯³É²âÊԽ׶Ρ¢ÏµÍ³²âÊԽ׶λᷢÏÖ¸ü¶àµÄȱÏÝÉõÖÁÈí¼þÎÞ·¨ÔËÐеÄÖÂÃüȱÏÝ£¬ÕâЩȱÏÝÐÞ¸´µÄʱ¼äÔ¶³¬¹ýµ¥Ôª²âÊÔµÄʱ¼ä¡£ÁíÍâûÓе¥Ôª²âÊԵĴúÂëºóÆÚÈí¼þ½øÐÐÖØ¹¹»òÕ߸ĽøÊ±»¨·ÑµÄʱ¼äÒ²±ÈÓе¥Ôª²âÊÔµÄËù»¨·ÑµÄʱ¼äÒª¶àºÜ¶à¡£ËùÒÔ˵ÍêÕû¼Æ»®Ïµĵ¥Ôª²âÊÔÊǶÔʱ¼äµÄ¸ü¸ßЧµÄÀûÓá£

ÒѾ­Óнӿڼ¯³É²âÊÔ¡¢ÏµÍ³¹¦ÄܲâÊÔ½øÐÐÖÊÁ¿±£Ö¤ÁË£¬¼¯³É²âÊԽ׶ζԽӿڽøÐÐÈ«Ãæ²âÊԾͿÉÒÔ´ïµ½µ¥Ôª²âÊÔµÄÒªÇó£¬Ã»±ØÒª×öÖØ¸´¹¤×÷ÔÚ½øÐе¥Ôª²âÊÔ¡£

½Ó¿Ú²âÊԺ͹¦ÄܲâÊÔÎÞ·¨¸²¸ÇËùÓеĴúÂ룬ÕâÑùÈç¹ûȱÏÝ´æÔÚÔò½«±»ÒÅ©£¬²¢ÇÒBug½«±»´øµ½Éú²úÉÏÈ¥¡£Ò»µ©Óû§Ê¹Óùý³ÌÖд¥·¢ÁËÕâЩûÓвâÊԵĴúÂë¾Í»á´øÀ´ÑÏÖØµÄ¾­¼Ãºó¹û¡£

ÅÜͨһ¸öÒµÎñÖ÷Á÷³ÌµÈ¼ÛÓÚ×ö¹ýµ¥Ôª²âÊÔ

ĿǰÓкܶ࿪·¢ÈËÔ±ÈÏΪ£¬¿ª·¢Íê´úÂëÖ®ºó£¬Ð´¸ömain·½·¨£¬´ÓÈë¿Úµ÷ÍêËùÓеÄÄ£¿é£¬×îºóÑé֤Ϸµ»Ø½á¹û£¬¾ÍÈÏΪ×ö¹ýµ¥Ôª²âÊÔÁË£¬ÕâÖÖÏë·¨ÊǼ°Æä´íÎóµÄ£¬Õâ³äÆäÁ¿ËãÒ»ÖÖ²»È«ÃæµÄðÑ̲âÊÔ£¬ÊǶԵ¥Ôª²âÊÔ¸ÅÄîµÄ´íÎóÈÏÖª¡£

΢·þÎñ¼Ü¹¹ÏÂÈçºÎ¿ªÕ¹µ¥Ôª²âÊÔ

ÏÂÃæ½«´Óµ¥Ôª²âÊÔËù´¦µÄ½×¶Î¡¢µ¥Ôª²âÊÔÓÃÀýÉè¼Æ¹æ·¶¡¢µ¥Ôª²âÊÔʵÏÖ¼¸¸öά¶È·Ö±ð½éÉÜÈçºÎÔÚ΢·þÎñ¼Ü¹¹Ï¿ªÕ¹µ¥Ôª²âÊÔ¡£ Ê×ÏÈ¿´Ïµ¥Ôª²âÊÔËù´¦µÄ½×¶Î£¬ÏÂͼΪ·ÇTDDģʽϵ¥Ôª²âÊÔËù´¦µÄ½×¶Î

ÓÉͼ¿É¼ûµ¥Ôª²âÊÔ´¦ÔÚÌØÐÔ·ÖÖ§¿ª·¢Íê³ÉÖ®ºó£¬¾ßÌåµÄÃèÊöÈçÏ£º

1.¿ª·¢ÈËÔ±´ÓMaster·ÖÖ§À­È¡ÌØÐÔ·ÖÖ§×÷Ϊ¿ª·¢·ÖÖ§£»

2.¿ª·¢ÍêÌØÐÔ·ÖÖ§ºó¡¢´úÂë¹¹½¨¡¢µ¥Ôª²âÊÔ¡¢¾²Ì¬´úÂëɨÃ裻

3.ͨ¹ýºóºÏ²¢µ½Master·ÖÖ§£¬ÓÃÓÚͶ²ú¡£

ÏÂÃæ¿´ÏÂʲôÑùµÄµ¥Ôª²âÊÔÓÃÀýÊÇÓÅÐãµÄÓÃÀý£¬ÊǼ´Âú×ãÔËÐÐËÙ¶ÈÓÖÂú×ã¸ß¸²¸ÇÂʵÄÓÃÀý¡£ËæÐи¶¶¨ÖÆÁ˵¥Ôª²âÊԹ淶£¬ÏÂÃæ½ÚÑ¡ÁËÇ¿ÖÆÒªÇóµÄ²¿·Ö¹æ·¶¡£ÓÅÐãµÄµ¥Ôª²âÊÔÓÃÀýÒª·ûºÏÒÔÏÂÓÃÀýÉè¼Æ¹æ·¶µÄÒªÇó¡£

1.±ØÐë×ñÊØ AIR Ô­Ôò

¡¾ËµÃ÷¡¿µ¥Ôª²âÊÔÔÚÏßÉÏÔËÐÐʱ£¬¸Ð¾õÏñ¿ÕÆø£¨AIR£©Ò»Ñù²¢²»´æÔÚ£¬µ«ÔÚ²âÊÔÖÊÁ¿µÄ±£ÕÏÉÏ£¬È´ÊǷdz£¹Ø¼üµÄ¡£ºÃµÄµ¥Ôª²âÊÔºê¹ÛÉÏÀ´Ëµ£¬¾ßÓÐ×Ô¶¯»¯¡¢¶ÀÁ¢ÐÔ¡¢¿ÉÖØ¸´Ö´ÐеÄÌØµã¡£ A£ºAutomatic£¨×Ô¶¯»¯£© I£ºIndependent£¨¶ÀÁ¢ÐÔ£© R£ºRepeatable£¨¿ÉÖØ¸´£©

2.µ¥Ôª²âÊÔÓ¦¸ÃÊÇÈ«×Ô¶¯Ö´Ðе쬲¢Çҷǽ»»¥Ê½µÄ

¡¾ËµÃ÷¡¿²âÊÔ¿ò¼Üͨ³£ÊǶ¨ÆÚÖ´Ðеģ¬Ö´Ðйý³Ì±ØÐëÍêÈ«×Ô¶¯»¯²ÅÓÐÒâÒå¡£Êä³ö½á¹ûÐèÒªÈ˹¤¼ì²éµÄ²âÊÔ²»ÊÇÒ»¸öºÃµÄµ¥Ôª²âÊÔ¡£µ¥Ôª²âÊÔÖв»×¼Ê¹Óà System.out À´½øÐÐÈËÈâÑéÖ¤£¬±ØÐëʹÓà assert À´ÑéÖ¤¡£

3.±£³Öµ¥Ôª²âÊԵĶÀÁ¢ÐÔ

¡¾ËµÃ÷¡¿ÎªÁ˱£Ö¤µ¥Ôª²âÊÔÎȶ¨¿É¿¿ÇÒ±ãÓÚά»¤£¬µ¥Ôª²âÊÔÓÃÀýÖ®¼ä¾ö²»ÄÜ»¥Ïàµ÷Óã¬Ò²²»ÄÜÒÀÀµÖ´ÐеÄÏȺó´ÎÐò¡£·´Àý£ºmethod2 ÐèÒªÒÀÀµ method1 µÄÖ´ÐУ¬½«Ö´Ðнá¹û×öΪ method2 µÄÊäÈë

4.µ¥Ôª²âÊÔÊÇ¿ÉÒÔÖØ¸´Ö´Ðе쬲»ÄÜÊܵ½Íâ½ç»·¾³µÄÓ°Ïì

¡¾ËµÃ÷¡¿µ¥Ôª²âÊÔͨ³£»á±»·Åµ½³ÖÐø¼¯³ÉÖУ¬Ã¿´ÎÓдúÂë check inʱµ¥Ôª²âÊÔ¶¼»á±»Ö´ÐС£Èç¹ûµ¥²â¶ÔÍⲿ»·¾³£¨ÍøÂç¡¢·þÎñ¡¢Öмä¼þµÈ£©ÓÐÒÀÀµ£¬ÈÝÒ×µ¼Ö³ÖÐø¼¯³É»úÖÆµÄ²»¿ÉÓá£

5.¶ÔÓÚµ¥Ôª²âÊÔ£¬Òª±£Ö¤²âÊÔÁ£¶È×㹻С£¬ÓÐÖúÓÚ¾«È·¶¨Î»ÎÊÌâ¡£µ¥²âÁ£¶ÈÖÁ¶àÊÇÀ༶±ð£¬Ò»°ãÊÇ·½·¨¼¶±ð

¡¾ËµÃ÷¡¿Ö»ÓвâÊÔÁ£¶ÈС²ÅÄÜÔÚ³ö´íʱ¾¡¿ì¶¨Î»µ½³ö´íλÖᣵ¥²â²»¸ºÔð¼ì²é¿çÀà»òÕß¿çϵͳµÄ½»»¥Âß¼­£¬ÄÇÊǼ¯³É²âÊÔµÄÁìÓò

6.ºËÐÄÒµÎñ¡¢ºËÐÄÓ¦ÓᢺËÐÄÄ£¿éµÄÔöÁ¿´úÂëÈ·±£µ¥Ôª²âÊÔͨ¹ý

¡¾ËµÃ÷¡¿ÐÂÔö´úÂ뼰ʱ²¹³äµ¥Ôª²âÊÔ£¬Èç¹ûÐÂÔö´úÂëÓ°ÏìÁËÔ­Óе¥Ôª²âÊÔ£¬Ç뼰ʱÐÞÕý

7.µ¥Ôª²âÊÔ´úÂë±ØÐëдÔÚÈçϹ¤³ÌĿ¼£ºsrc/test/java£¬²»ÔÊÐíдÔÚÒµÎñ´úÂëĿ¼ÏÂ

¡¾ËµÃ÷¡¿Ô´Âë¹¹½¨Ê±»áÌø¹ý´ËĿ¼£¬¶øµ¥Ôª²âÊÔ¿ò¼ÜĬÈÏÊÇɨÃè´ËĿ¼

ËæÐи¶ÔÚÍÆÐе¥Ôª²âÊÔÂ䵨¹ý³ÌÖвÉÓÃÑ­Ðò½¥½øµÄ·½Ê½£¬Öð²½Ôö¼Óµ¥Ôª²âÊÔÓÃÀý´ïµ½µ¥Ôª²âÊԹ淶Öй涨µÄ¸²¸ÇÂÊÒªÇó¡£ÐèҪ˵Ã÷µÄÊÇÎÒÃDz»ÊÇ×·Ç󸲸ÇÂÊÕâ¸öÊý×ÖÖ¸±ê£¬ÄÇÑù¾ÍÉá±¾ÇóÄ©ÁË£¬ÎÒÃÇÊÇͨ¹ý¸²¸ÇÂÊÕâ¸ö¿ÉÒÔÁ¿»¯µÄÖ¸±êʵÏÖÌá¸ß´úÂëÖÊÁ¿µÄÕâ¸ö¸ù±¾Ä¿µÄ¡£

µÚÒ»½×¶Î£ºµ¥Ôª²âÊÔ¸²¸ÇÂÊÒªÇóÖÁÉÙ25%

µÚ¶þ½×¶Î£ºµ¥Ôª²âÊÔ¸²¸ÇÂÊÒªÇóÖÁÉÙ60%

µÚÈý½×¶Î£ºµ¥Ôª²âÊÔ¸²¸ÇÂÊÒªÇóÖÁÉÙ80%

ËæÐи¶µ¥Ôª²âÊÔ¸²¸ÇÂÊͳ¼ÆÍ¬Ñù²ÉÓÃSonarQubeƽ̨½áºÏJenkins¹¤¾ß£¬Jacocoµ¥Ôª²âÊÔ¸²¸ÇÂʹ¤¾ßÍê³É£¬Õâ¸öͬÉÏÆª½éÉܵľ²Ì¬´úÂëɨÃèÁ÷³ÌÊÇÒ»ÂöÏà³ÐµÄ¡£Í¬Ê±ÒªÇ󿪷¢ÈËÔ±±¾µØµÄIDE¹¤¾ßÖа²×°Jacoco¸²¸ÇÂʲå¼þ£¬µ±±¾µØ¿ª·¢Íêµ¥Ôª²âÊÔÓÃÀý²¢¹¹½¨ºó£¬¼´¿É¿´µ½¸²¸ÇÂÊÐÅÏ¢£¬½ø¶ø¿ÉÒÔ¿ìËÙ²¹³äÓÃÀý£¬´ïµ½¸²¸ÇÂÊÒªÇó¡£ ÒÔEclipseΪÀý£¬µ±¿ª·¢Íêµ¥Ôª²âÊÔ´úÂëºó£¬°´ÕÕÈçϲÙ×÷¼´¿É²é¿´¸²¸ÇÂÊÐÅÏ¢¡£

1.Ñ¡ÔñÐèҪͳ¼ÆµÄjava²âÊÔ´úÂë»òÕß°ü;

2.ÓÒ¼ü£¬Coverage as->Junit

3.¸²¸ÇÂʽá¹û»á×Ô¶¯ÔÚCoverage ÊÓͼÖÐչʾ³öÀ´;

4.ÔÚJava±à¼­Æ÷ÖÐÓò»Í¬µÄÑÕÉ«±êʶ´úÂëµÄ¸²¸ÇÇé¿ö¡£

¡¾ËµÃ÷¡¿ ÂÌÉ«----È«¸²¸Ç

ºìÉ«----δ¸²¸Ç

»ÆÉ«----²¿·Ö¸²¸Ç

ÏÂÃæ½éÉÜÏÂÔÚ΢·þÎñÏÂÓ¦¸ÃÈçºÎ½øÐе¥Ôª²âÊÔ¡£ÎªÁËÓÐЧµÄ½øÐе¥Ôª²âÊÔ£¬ÐèÒª×ñÑ­Ò»¶¨µÄ·½·¨£¬Í¨³£²ÉÓ÷¾¶¸²¸Ç·¨Éè¼Æµ¥Ôª²âÊÔÓÃÀý¡£Ëùν·¾¶¸²¸Ç·¨¾ÍÊÇѡȡ×ã¹»¶àµÄ²âÊÔÊý¾Ý£¬Ê¹³ÌÐòµÄÿÌõ¿ÉÄÜ·¾¶¶¼ÖÁÉÙÖ´ÐÐÒ»´Î£¨Èç¹û³ÌÐòͼÖÐÓл·£¬ÔòÒªÇóÿ¸ö»·ÖÁÉÙ¾­¹ýÒ»´Î£©¡£¾ßÌåÉè¼Æ¹ý³Ì²Î¼ûÈçϲ½Ö裺

1.»­³ö³ÌÐò¿ØÖÆÁ÷³Ìͼ

2.¼ÆËãȦ¸´ÔÓ¶È

3.ÕÒ³öËùÓгÌÐò»ù±¾Â·¾¶

4.¸ù¾Ý·¾¶Éè¼Æ²âÊÔÊý¾Ý

ÒÔÏÂͼ´úÂëΪÀý˵Ã÷·¾¶¸²¸Ç·¨µÄÉè¼Æµ¥Ôª²âÊԵĹý³Ì

1.Ê×Ïȸù¾Ý´úÂë»­³öÆä¶ÔÓ¦µÄÁ÷³ÌͼÈçÏ£¬Í¼ÖÐÊý×Ö´ú±íÐкš£µ±Ìõ¼þÓï¾äÖаüº¬¶à¸öÌõ¼þʱӦÓèÒÔ²ð·Ö£¬ÈçµÚ13ÐУ¬²ð·ÖΪ13.1ºÍ13.2£»¶ÔÓÚûÓзÖÖ§ºÍÑ­»·µÄÓï¾ä¿ÉºöÂÔ£¬ÈçµÚ16ÐС£

ÓÐÁËÁ÷³Ìͼºó£¬ÎÒÃÇ¿ÉÒÔ¸ù¾ÝËü¼ÆËã³öȦ¸´ÔÓ¶È£¬Õâ¸ö¿ÉÒÔ×÷Ϊ²âÊÔÓÃÀýÊýµÄÉÏÏÞ£¬È¦¸´ÔӶȼÆË㹫ʽÈçÏ£º

V£¨G£©= E - N + 2£¬EÊÇÁ÷ͼÖбߵÄÊýÁ¿£¬NÊÇÁ÷ͼÖнáµãµÄÊýÁ¿¡£ V£¨G£©= P + 1 £¬PÊÇÁ÷ͼGÖÐÅж¨½áµãµÄÊýÁ¿¡£

Á½¸ö¹«Ê½ÓÃÄĸö¶¼ÐУ¬×îºóµÄ½á¹ûÓ¦¸ÃÊÇÒ»ÑùµÄ¡£ÕâÀïÎÒÃÇÓõڶþ¸ö¹«Ê½£¬V£¨G£©= 3 + 1 = 4£¬Ò²¾ÍÊÇÎÒÃÇÖ»ÐèÒªÉè¼Æ4ÌõÓÃÀý¼´¿É¸²¸ÇËùÓз¾¶

½ÓÏÂÀ´¾ÍÊÇÕÒ³öËùÓлù±¾Â·¾¶£¬»ù±¾Â·¾¶ÊÇ´Ó³ÌÐòµÄ¿ªÊ¼½áµãµ½½áÊø¿ÉÒÔÑ¡ÔñÈκεÄ·¾¶±éÀú£¬µ«ÊÇÿÌõ·¾¶ÖÁÉÙÓ¦¸Ã°üº¬Ò»ÌõÒѶ¨Òå·¾¶²»ÔøÓõ½µÄ±ß£¬ËùÓеĻù±¾Â·¾¶ÈçÏÂ

A

B C

B D E F

B D E G E F

µÃµ½ÁËËùÓеĻù±¾Â·¾¶£¬Ê£Ïµļòµ¥ÁË£¬Ö»ÐèÒª°´ÕÕ·¾¶Éè¼Æ³ö¶ÔÓ¦µÄÈë²ÎÊý¾Ý¼´¿É

°¸Àý1£ºa = 0, b = 1, ÆÚÍûÖµ -1

°¸Àý2£ºa = 1, b = 0, ÆÚÍûÖµ -1

°¸Àý3: a = 4, b = 2, ÆÚÍûÖµ 2

°¸Àý4£ºa = 8, b = 12, ÆÚÍûÖµ 4

³ý´ËÖ®Í⣬µ¥Ôª²âÊÔÓÃÀýÉè¼Æ»¹ÐèÒª¿¼ÂÇÒÔϳ¡¾°

±ß½çÖµ

ÒµÎñ±ß½ç

Òç³ö±ß½ç

×Ö·û´®¡¢Êý×é¡¢¼¯ºÏµÈµÄ±ß½ç

Òì³£³¡¾°

ÒµÎñÒì³£

ÊäÈëÒì³££¨Èç²ÎÊý²»ºÏ·¨£©

Õý³£³¡¾°

µ¥¸öÄ£¿éµÄÓÃÀýÉè¼Æ¶¼¿ÉÒÔ°´ÕÕ·¾¶¸²¸Ç·¨´ïµ½Óï¾ä¸²¸ÇºÍ·ÖÖ§¸²¸Ç£¬µ«ÊǶÔÓÚÓÐÒÀÀµ¹ØÏµµÄÄ£¿é

ÔÚ΢·þÎñ¼Ü¹¹Ï£¬Ã¿¸öÄ£¿éÖ®¼ä»á´æÔÚÒÀÀµµÄÇé¿ö£¬ÎªÁ˱£³Öµ¥Ôª²âÊԵĶÀÁ¢ÐÔÔ­Ôò£¬ÔÚ²»ÒÀÀµÓÚÍⲿÌõ¼þµÄÇé¿öÏÂÖÆÔì¸÷ÖÖÊäÈëÊý¾Ý£¬ÐèÒª½èÖúMock¼¼Êõ£¬Æä±¾ÖÊÊÇÓÃÒ»¸öÄ£ÄâµÄ¶ÔÏó´úÌæÕæÊµµÄ¶ÔÏó£¨ÀýÈçÒ»¸öÀࡢģ¿é¡¢º¯Êý»òÕß΢·þÎñ£©¡£Ä£Äâ¶ÔÏóµÄÐÐÎªÌØÕ÷ºÍÕæÊµ¶ÔÏó·Ç³£ÏàËÆ£¬²ÉÓÃÏàͬµÄµ÷ÓÃÂß¼­£¬·µ»ØÄÚÈݰ´ÕÕ֮ǰԤ¶¨ÒåµÄÄÚÈÝ·µ»Ø£¬Ìṩ·µ»ØÊý¾Ý¡£Mock¼¼ÊõµÄÔ­Àí¿ÉÒÔÓÃÈçϰ¸Àý½øÐнâÊÍ¡£

µ±Òª½øÐе¥Ôª²âÊÔʱ£¬ÐèÒª¸øA×¢ÈëBºÍC,µ«ÊÇCÓÖÒÀÀµD£¬DÓÖÒÀÀµE¡£Õâ¾Íµ¼ÖÂÁË£¬AµÄµ¥Ôª²âÊÔ²»Âú×ã¶ÀÁ¢ÐÔÔ­Ôò¡£ µ«Ê¹ÓÃÁËMockÀ´½øÐÐÄ£Äâ¶ÔÏóºó£¬¾Í¿ÉÒÔ°ÑÕâÖÖÒÀÀµ½âñֻ¹ØÐÄA±¾ÉíµÄ²âÊÔ£¬ËüËùÒÀÀµµÄBºÍC£¬È«²¿Ê¹ÓÃMock³öÀ´µÄ¶ÔÏ󣬲¢ÇÒ¸øMockBºÍMockCÖ¸¶¨Ò»¸öÃ÷È·µÄÐÐΪ¡£

ÔÚµ¥Ôª²âÊÔ¹¤¾ßµÄÑ¡Ôñ·½Ãæ£¬ËæÐи¶µ¥Ôª²âÊÔ½èÖúJunit¹¤¾ßºÍMockito¹¤¾ß½øÐе¥Ôª²âÊÔ£¬Î¢·þÎñ¼Ü¹¹Ï²»¹ÜÊÇspring boot»¹ÊÇspring cloud£¬Í¨³£Ê¹ÓÃ@SpringBootTest×¢½â½øÐе¥Ôª²âÊÔ¡£Ò»¸öµ¥Ôª²âÊÔµÄʵÏÖ²½ÖèÖ÷Òª°üÀ¨4²½£º

ÉèÖòâÊÔÊý¾Ý

MockÒÀÀµµÄϵͳ²¢¸ø¶¨Ô¤ÆÚÖµ£¬Èç¹ûûÓÐÒÀÀµÕâ²½¿ÉÒÔÊ¡ÂÔ

ÔÚ²âÊÔÖе÷Ó÷½·¨

¶ÏÑÔ·µ»ØµÄ½á¹ûÊÇ·ñ·ûºÏÔ¤ÆÚ

ÏÂÃæÒÔÒ»¸ö·Ç³£¼òµ¥µÄÀý×Ó½éÉÜÔÚ΢·þÎñ¼Ü¹¹ÏÂÈçºÎ¶Ôspring bootÖеÄcontroller²ãºÍservice²ã½øÐе¥Ôª²âÊÔ¡£

µ÷ÓÃÂß¼­¼ò»¯°æÈçͼËùʾ£¬Controllerµ÷ÓÃServiceA£¬ServiceAÒÀÀµServiceB¡£

±»ÒÀÀµServiceBµÄ´úÂëÈçÏÂ

package cn.vbill.quality.service;
import org.springframework...Service;

@Service
public class ServiceB {
public boolean serve(int param) {
return param % 2 == 0;
}
}

±»²âServiceAµÄ´úÂëÈçÏÂ

package cn.vbill.quality.service;
import org.springframework.beans...Autowired;
import org.springframework.stereotype.Service;

@Service
public class ServiceA {
@Autowired
private ServiceB srvB;

public String doSomething(int param) {
if (srvB.serve(param)) {
return "even";
}
return "obb";
}
}

ServiceAºÍServiceBµÄÂß¼­·Ç³£¼òµ¥£¬ÏÖÔÚ²âÊÔServiceA£¬²½ÖèÈçÏ£º

Ê×ÏÈ£ºÔÚgradleÖÐÔö¼Ó²âÊÔÐèÒªµÄÒÀÀµ°ü

// ¿É¸ù¾Ýʵ¼ÊÇé¿öÌí¼Ó°æ±¾ºÅ
testCompile("org.springframework.boot:spring-boot-starter-test")

Æä´Î£ºÔÚsrc/test/javaÏÂÃæ´´½¨²âÊÔÀ࣬²ÉÓÃ@SpringBootTest×¢½âºÍMockito¼¼Êõ¶ÔServiceB½øÐвâÊÔºÍMock,¸ü¶àMockitoµÄʹÓÿÉÒԲο¼ÆäËûÎÄÕ£¬ÕâÀï²»¹ý¶à½éÉÜ¡£´úÂëÈçÏ£º

×îºó£¬Ê¹Óø²¸ÇÂʹ¤¾ß²é¿´µ¥Ôª²âÊÔ¸²¸ÇÂÊ£¬ÈçÏÂͼËùʾ£¬ÊµÏÖÁË100%¸²¸Ç¡£

ServiceBûÓÐÈκÎÒÀÀµ£¬Òò´Ë¶ÔËü²âÊԾͰ´ÕÕ³£¹æµÄJunit²âÊÔ¼´¿É£¬ÕâÀï²»¹ý¶à½éÉÜ¡£ÏÂÃæ½éÉÜController²ãµÄµ¥Ôª²âÊÔ£¬ÕûÌåÉÏ¿´ Controller ²ãµÄ²âÊÔºÍ Service ²ã´óÖÂÏàͬ£¬Ö»²»¹ýÊÇÎÒÃDz»È¥Ö±½Óµ÷Óà Controller µÄ·½·¨£¬¶øÊÇͨ¹ýMockMvcÄ£ÄâHTTPÇëÇó¡£´ÓÂß¼­Í¼ÉÏ¿´ControllerÊÇÖ±½Óµ÷ÓÃServiceA£¬Òò´ËÐèҪʹÓÃMockitoÄ£ÄâServiceA¡£

±»²âController´úÂëÂß¼­ÈçÏ£º

²âÊÔÀàÈçÏÂ

×îºó£¬Í¨¹ý¸²¸ÇÂʹ¤¾ß²é¿´µ¥Ôª²âÊÔ¸²¸ÇÂÊΪ100%£¬×öµ½ÁËÈ«¸²¸Ç¡£

ÒÔÉÏÊÇÈçºÎÔÚ΢·þÎñ¼Ü¹¹Ï½øÐе¥Ôª²âÊÔ½øÐÐÁËÏêϸµÄ½éÉÜ£¬ÔÚ΢·þÎñ¼Ü¹¹Ï¸߸²¸ÇÂʵĵ¥Ôª²âÊÔÊDZ£ÕÏ´úÂëÖÊÁ¿µÄµÚÒ»µÀÒ²ÊÇ×îÖØÒªµÄ¹Ø¿Ú£¬Ó¦¸Ã³ÖÖ®ÒԺ㡣

×ܽá

±¾Æª·Ö±ð´Ó΢·þÎñ¼Ü¹¹Ï¿ªÕ¹µ¥Ôª²âÊÔµÄÒâÒå¡¢¶Ôµ¥Ôª²âÊԵij£¼ûÎó½âÒÔ¼°ÈçºÎ¿ªÕ¹µ¥Ôª²âÊÔÈý¸ö·½Ãæ½øÐнéÉÜ£¬µ¥Ôª²âÊÔÊÇÒ»Ïî³É±¾µÍ¡¢ÊÕÒæ¸ßµÄʵ¼ù£¬ÒªÀûÓúÃÕâ°ÑÀû½££¬´òºÃ´úÂëÖÊÁ¿»ù´¡£¬ÎªºóÐøµÄÖÊÁ¿±£Ö¤¹ý³ÌÌíש¼ÓÍß¡£

 
   
8385 ´Îä¯ÀÀ       30
Ïà¹ØÎÄÕÂ

΢·þÎñ²âÊÔÖ®µ¥Ôª²âÊÔ
һƪͼÎÄ´øÄãÁ˽â°×ºÐ²âÊÔÓÃÀýÉè¼Æ·½·¨
È«ÃæµÄÖÊÁ¿±£ÕÏÌåϵ֮»Ø¹é²âÊÔ²ßÂÔ
È˹¤ÖÇÄÜ×Ô¶¯»¯²âÊÔ̽Ë÷
Ïà¹ØÎĵµ

×Ô¶¯»¯½Ó¿Ú²âÊÔʵ¼ù֮·
jenkins³ÖÐø¼¯³É²âÊÔ
ÐÔÄܲâÊÔÕï¶Ï·ÖÎöÓëÓÅ»¯
ÐÔÄܲâÊÔʵÀý
Ïà¹Ø¿Î³Ì

³ÖÐø¼¯³É²âÊÔ×î¼Ñʵ¼ù
×Ô¶¯»¯²âÊÔÌåϵ½¨ÉèÓë×î¼Ñʵ¼ù
²âÊԼܹ¹µÄ¹¹½¨ÓëÓ¦ÓÃʵ¼ù
DevOpsʱ´úµÄ²âÊÔ¼¼ÊõÓë×î¼Ñʵ¼ù