¸ðÁ¶Ç° ¼øÀ§ ¹× ¿ä¾à
- °Ô½ÃÀÚ À̸§:
- Michael Foord
- °Ô½ÃÀÚ À¥»çÀÌÆ®:
- http://www.voidspace.org.uk/python/rest2web/
¸ðÁ¶Ç° ű×
¸ðÁ¶Ç° ¼³¸í
Á¶·Õ ¹× Å×½ºÆ® ¶óÀ̺귯¸® ¸ðÀÇ´Â ´ÜÀ§ Å×½ºÆ®¿¡¼ Á¶·ÕÀ»À§ÇÑ °£´ÜÇÑ Å¬·¡½ºÀÔ´Ï´Ù .MockÀº Å×½ºÆ® ½ºÀ§Æ® Àüü¿¡¼ »ç¼ÒÇÑ ½ºÅÓÀÇ È£½ºÆ®¸¦ ¸¸µé ÇÊ¿ä°¡ÀÖ´Â ÇÙ½É ¸ðÀÇ Å¬·¡½º¸¦ Á¦°øÇÕ´Ï´Ù. Á¶Ä¡¸¦ ÃëÇÑ ÈÄ¿¡´Â ¾î¶² ¸Þ¼Òµå / ¼Ó¼ºÀÌ »ç¿ë µÈ ¸Þ¼Òµå / ¼Ó¼º°ú È£Ãâ µÈ Àμö¿¡ ´ëÇÑ ¾î¼³ ¼ÇÀ» ¸¸µé ¼ö ÀÖ½À´Ï´Ù. ¶ÇÇÑ ¹Ýȯ °ªÀ» ÁöÁ¤ÇÏ°í Á¤»óÀûÀÎ ¹æ¹ýÀ¸·Î ÇÊ¿äÇÑ ¼Ó¼ºÀ» ¼³Á¤ÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ¶ÇÇÑ °íÀ¯ ÇÑ °³Ã¼¸¦ ¸¸µé±â À§ÇØ Mock.Sentinel°ú ÇÔ²² Å×½ºÆ® ¹üÀ§ ³»¿¡¼ ÆÐÄ¡ ¸ðµâ ¹× Ŭ·¡½º ·¹º§ ¼Ó¼ºÀ» ó¸®ÇÏ´Â mock.patch () decolator¸¦ Á¦°øÇÕ´Ï´Ù. ´ëºÎºÐÀÇ Á¶·Õ µµ¼°üÀº Á¶·ÕÀÇ '±â·Ï -> Àç»ý'ÆÐÅÏÀ» µû¸¨´Ï´Ù. ³ª´Â ´õ Àб⠽±°í Á÷°üÀû ÀÎ 'Çൿ -> ÁÖÀå'ÆÐÅÏÀ» ¼±È£ÇÕ´Ï´Ù. ƯÈ÷ Python UnitTest ¸ðµâ·Î ÀÛ¾÷ ÇÒ ¶§. µÎ °¡Áö Á¢±Ù¹ýÀÇ ÀåÁ¡¿¡ ´ëÇÑ ³íÀÇ´Â Á¶·Õ, ÆÐÄ¡, ½ºÅͺ긦 ÂüÁ¶ÇϽʽÿÀ : ¸ðµç °ÍµéÀ» ÂüÁ¶ÇϽʽÿÀ. ¿ä±¸ »çÇ× : ¡¤ ÆÄÀ̽ã ÀÌ ¸±¸®½º¿¡¼´Â »õ·Î¿î ±â´É : ¡¤ °ø¿ë APIÀÇ ±âº» ºÎºÐÀ» ÀÛ¼ºÇß½À´Ï´Ù. ¡¤ ½ºÇÎÅ©½º·Î ±¸Ãà µÈ ¹®¼. ¡¤ MockÀÌ È£ÃâµÇ´Â °Í°ú µ¿ÀÏÇÑ Àμö·Î Side_effect°¡ È£ÃâµÇ¸ç mock.return_value·Î ÀÚµ¿ ¼³Á¤µÈ ±âº»°ªÀÌ ¾Æ´Ñ °ªÀ» ¹ÝȯÇÕ´Ï´Ù. ¡¤ ·¡ÇÎ ¿ÀºêÁ§Æ®¿¡ »ç¿ëµÇ´Â Å°¿öµå Àμö (¹× ·¦ ¸µ µÈ °´Ã¼¿¡ ÅëÈ Àü´Þ). ¡¤ Àç¼³Á¤ÀÌ °øÅë API À̸§À̹ǷΠmock.reset_mockÀ¸·Î À̸§ÀÌ º¯°æµÇ¾ú½À´Ï´Ù. ¡¤ Patch / Patch_Object´Â ÀÌÁ¦ ÄÁÅؽºÆ® °ü¸®ÀÚ°¡ ÀÖÀ¸¸ç »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¡¤ Á¸ÀçÇÏÁö ¾Ê´Â ÆÐÄ¡ (¹× ¹èÄ¡)¸¦ ÆÐÄ¡ (¹× ¹èÄ¡) ÇÒ ¼öÀÖ´Â »õ·Î¿î 'Create'Å°¿öµå Àμö°¡ ¾ø½À´Ï´Ù. (ÀáÀçÀûÀ¸·Î »ç¿ëÇÏÁö ¾Ê¾Æµµ - Á¸ÀçÇÏÁö ¾Ê´Â API¸¦ Å×½ºÆ® ÇÒ ¶§ Åë°ú ÇÒ ¼öÀÖ´Â Å×½ºÆ®°¡ °¡´ÉÇØÁú ¼ö ÀÖ½À´Ï´Ù. ¡¤ MOCK¿¡ ´ëÇÑ Å°¿öµå Àμö°¡ Á¦°ÅµÇ°í »ç¾ç°ú º´ÇյǾú½À´Ï´Ù. spec Àμö´Â ÀÌÁ¦ »ç¾çÀ» ÃëÇÒ ¸Þ¼Òµå ¸ñ·Ï ¶Ç´Â °´Ã¼ ¸ñ·ÏÀÌ µÉ ¼ö ÀÖ½À´Ï´Ù. ¡¤ Áßø µÈ ÆÐÄ¡´Â ÀÌÁ¦ ´Ù¸¥ ¼ø¼·Î Àû¿ëµÉ ¼ö ÀÖ½À´Ï´Ù (¹Ý´ëÀÇ ¼ø¼·Î Àü´Þ µÈ Á¶Á÷). ÀÌ°ÍÀº ½ÇÁ¦·Î ¹ö±× ¼öÁ¤ÀÔ´Ï´Ù. ¡¤ ÆÐÄ¡ ¹× PATCH_OBJECT´Â ÀÌÁ¦ SPEC Å°¿öµå Àμö¸¦ ÃëÇÕ´Ï´Ù. »ç¾çÀÌ 'True'·Î Àü´ÞµÇ¸é ¸ðÀÇ°¡ »ý¼º µÈ Á¶Ä¡°¡ ÇØ´ç »ç¾ç °´Ã¼·Î ¹Ù²Ù´Â °³Ã¼¸¦ °¡Á®¿É´Ï´Ù. ±³Ã¼µÇ´Â °´Ã¼°¡ Ŭ·¡½º ÀÎ °æ¿ì, ¸ðÀÇÀÇ ¹Ýȯ °ªÀº Ŭ·¡½º¸¦ »ç¾çÀ¸·Î »ç¿ëÇÕ´Ï´Ù. ¡¤ »ç¾ç¾øÀÌ »ý¼º µÈ ¸ðÀÇ´Â ¸¶¹ýÀÇ ¹æ¹ý / ¼Ó¼ºÀ» Á¶·ÕÇÏÁö ¾ÊÀ¸·Á °í ½ÃµµÇÏÁö ¾Ê½À´Ï´Ù (´ë½Å attributeError¸¦ Å°¿ì°ÔµË´Ï´Ù).
¸ðÁ¶Ç° °ü·Ã ¼ÒÇÁÆ®¿þ¾î