When we should use stub and mock

0ada440ca1c08ec93e45ba4e35ebe811?s=47 kenkaton
July 31, 2020
35

When we should use stub and mock

0ada440ca1c08ec93e45ba4e35ebe811?s=128

kenkaton

July 31, 2020
Tweet

Transcript

  1. Re:valua t ion https://fril.jp/ L ead & Delight User F

    irst Ownership Fail Smart ґଘؔ܎ͷগͳ͍ςετͷॻ͖ํ
  2. ࣗݾ঺հ  

  3. !LFOLBUPO !LFOLBUPO ϥΫϚͰαʔόʔαΠυΛ த৺ʹΤϯδχΞ΍ͬͯΔຽ   ࣗݾ঺հ ͔ͱ͚Μ

  4. ґଘؔ܎ͷগͳ͍ςετͷॻ͖ํ  

  5.   ࠓ೔࿩͢͜ͱ w ґଘؔ܎ͷ͋ΔςετͬͯԿͧʁ w ͜Μͳײ͡Ͱࢲ͸ϋϚͬͨΑɺͯ΁ͬ w ελϒͰςετίʔυΛॻ͖௚͢ w

    ࣅͨ΋ͷͰϞοΫͱ͔͍͏ݴ༿΋͋ΔΑͳ w ͓ΘΓʹ
  6. ґଘؔ܎ͷ͋ΔςετͬͯԿͧʁ  

  7.   ґଘؔ܎ͷ͋ΔςετͬͯԿͧʁ ͏ʔʔΜɺݴ༿Ͱઆ໌͕೉͍͠ͷͰ ࢲ͕ϋϚͬͨ΋ͷʹ͍ۙྫΛ࡞ͬͯΈ·ͨ͠ʂ

  8.   ͜Μͳײ͡Ͱࢲ͸ϋϚͬͨΑɺͯ΁ͬ લఏ ɾ͜͜͸ϙέϞϯͷੈքͰ͢ ɾͱ͍͏͜ͱ͸ɺϙέϞϯτϨʔφʔ͕ͨ͘͞Μ ɾϙέϞϯؔ࿈ͷࢪઃ΋ͨ͘͞Μ ɾ֤ࢪઃͷγεςϜվमΛΧτέϯ͸୲౰

  9.   ͜Μͳײ͡Ͱࢲ͸ϋϚͬͨΑɺͯ΁ͬ ֤ࢪઃͷγεςϜ͸ಠཱ͍ͯ͠Δ͕ʜ ϙέϞϯ ɹηϯλʔ ϙέϞϯ ɹδϜ ϠΝʔʔʂʂʂʂʂ ήʔϜ

    ίʔφʔ
  10.   ͜Μͳײ͡Ͱࢲ͸ϋϚͬͨΑɺͯ΁ͬ ֤ࢪઃͷγεςϜ͸ಠཱ͍ͯ͠Δ͕ʜ ൚༻తͳ෦෼͸ڞ௨Խ ϙέϞϯ ɹηϯλʔ ϙέϞϯ ɹδϜ ϠΝʔʔʂʂʂʂʂ

    ήʔϜ ίʔφʔ
  11.   ͜Μͳײ͡Ͱࢲ͸ϋϚͬͨΑɺͯ΁ͬ ֤ࢪઃͷγεςϜ͸ಠཱ͍ͯ͠Δ͕ʜ ൚༻తͳ෦෼͸ڞ௨Խ ϙέϞϯ ɹηϯλʔ ϙέϞϯ ɹδϜ ϠΝʔʔʂʂʂʂʂ

    ήʔϜ ίʔφʔ 3BJMT" 3BJMT# 3BJMT$ Rails::Engine
  12.   ͜Μͳײ͡Ͱࢲ͸ϋϚͬͨΑɺͯ΁ͬ Rails A, B, C

  13.   ͜Μͳײ͡Ͱࢲ͸ϋϚͬͨΑɺͯ΁ͬ ൚༻తͳ෦෼͸ڞ௨Խ Rails::Engine ڞ௨ॲཧͷྫɿ w 5SBJOFSNBTUFS  w

    USBJOFSTςʔϒϧʹNBTUFS@GMHΧϥϜ
  14.   ͜Μͳײ͡Ͱࢲ͸ϋϚͬͨΑɺͯ΁ͬ Rails::Engine

  15.   ͜Μͳײ͡Ͱࢲ͸ϋϚͬͨΑɺͯ΁ͬ ͕͔ͩ͠͠ɺ਺ϲ݄ޙʜ NBTUFSTςʔϒϧ࡞ͬͯ ɹॴଐδϜ৘ใ͍࣋ͨͤͨʂ USBJOFSTςʔϒϧͱNBUFSTςʔϒϧΛ ର̍Ͱඥ෇͚΍ʂ

  16.   ͜Μͳײ͡Ͱࢲ͸ϋϚͬͨΑɺͯ΁ͬ Rails::Engine

  17.   ͜Μͳײ͡Ͱࢲ͸ϋϚͬͨΑɺͯ΁ͬ ͢ΔͱʜͳΜͱʜ

  18.   ͜Μͳײ͡Ͱࢲ͸ϋϚͬͨΑɺͯ΁ͬ ֤ࢪઃͷγεςϜͰʜ ϙέϞϯ ɹηϯλʔ ϙέϞϯ ɹδϜ ϠΝʔʔʂʂʂʂʂ ήʔϜ

    ίʔφʔ ςετ͕௨Βͳ͘ͳͬͨʂʂ
  19.   ͜Μͳײ͡Ͱࢲ͸ϋϚͬͨΑɺͯ΁ͬ ͦΕ΋ͦͷ͸ͣɺͳͥͳΒʜ ɹ͜ͷΑ͏ͳFOHJOFͷ࣮૷಺༰ʹґଘͨ͠ςετͳΜ͔ͩΒͶ ʹΌΔ΄Ͳʂ

  20. ελϒͰςετίʔυΛॻ͖௚͢  

  21.   ελϒͰςετίʔυΛॻ͖௚͢ ఻Ոͷๅ౛ɺελϒԽʂʂʂ ΄΄ʔ͏ʂ ελϒʹ͢Δ͜ͱͰ NBTUFS ͷ ɹ࣮૷಺༰ʹςετ͕ ɹɹɹґଘ͠ͳ͘ͳͬͨ

  22.   ελϒͰςετίʔυΛॻ͖௚͢ ͱ͜ΖͰελϒͬͯͳΜ΍ͶΜ

  23.   ελϒͰςετίʔυΛॻ͖௚͢ ελϒͱ͸ʜ ɹϝιου಺ͷίʔυΛ࣮ࡍʹ͸ݺͼग़ͣ͞ʹϝιουΛݺͼग़͠ɺ ɹςετͰཉ͍͠஋Λฦ͢Α͏ʹ͢ΔͨΊͷࢦࣔͰ͢ɻ ʹΌΔ΄Ͳʂ

  24.   ελϒͰςετίʔυΛॻ͖௚͢ ࣅͨ΋ͷͰϞοΫͱ͔͍͏ݴ༿΋͋ΔΑͳ

  25.   ࣅͨ΋ͷͰϞοΫͱ͔͍͏ݴ༿΋͋ΔΑͳ ϞοΫͱ͸ʜ ɹಛఆͷϝιου͕࣮ߦ͞Ε͔ͨͲ͏͔Λ ɹҾ਺΍ස౓Λࢦఆͯ͠νΣοΫ͢Δ΋ͷͰ͢ɻ ΄΄ʔ͏

  26.   ࣅͨ΋ͷͰϞοΫͱ͔͍͏΋ͷ΋͋ΔΑͳ ݴ༿Ͱઆ໌͞Εͯ΋෼͔ΒΜ͔ΒίʔυͰ࿩ͦ͏ͳ ʹΌΔ΄Ͳʂ ʢίʔυ͕ςΩτʔ͗ͯ͢ ɹɹೣʹ͔͠఻ΘΒͳ͍Մೳੑʜ׼ʣ

  27.   ࣅͨ΋ͷͰϞοΫͱ͔͍͏΋ͷ΋͋ΔΑͳ ΊͬͪΌࡶʹҧ͍Λݴ͏ͱʜ ɹελϒɿຊདྷςετ͍ͨ͠ՕॴҎ֎Λ ɹɹɹɹɹɹɹͳΜͱͳ͍͍͘ײ͡ʹಈ͔͢΋ͷ ɹϞοΫɿςετ͍ͨ͠Օॴͦͷ΋ͷͷ ɹɹɹɹɹɹɹॲཧ͕ه࿥ɾ֬ೝͰ͖Δ΋ͷ ΄΄ʔ͏ ͱݴͬͯ͘ΕʜͨͷΉʜ

  28.   ࣅͨ΋ͷͰϞοΫͱ͔͍͏΋ͷ΋͋ΔΑͳ ͜͏ͯ͠ϙέϞϯͷੈք͸ฏ࿨ʹͳͬͨͱ͞ ൚༻తͳ෦෼͸ڞ௨Խ ϙέϞϯ ɹηϯλʔ ϙέϞϯ ɹδϜ ϠΝʔʔʂʂʂʂʂ

    ήʔϜ ίʔφʔ
  29. ͓ΘΓʹ  

  30.   ͓ΘΓʹ ·ͱΊΔͱ w ελϒͱ͔ϞοΫศརͩΑͶ w ґଘؔ܎ͷͳ͍ςετॻ͚ͪΌ͏ w Ͱ΋࢖͏λΠϛϯά͸ݟۃΊΑ͏Ͷ

    w ςετͨͭ͠΋ΓͳͷʹͰ͖ͯͳ͍ͱ͔ٽ w ελϒͱϞοΫͷҧ͍Λ׬શʹཧղͨ͠ΑͶ ͏Ή
  31.   ͓ΘΓʹ ࢀߟࢿྉɿ w IUUQTUFDISBDIPCQTJODKQIBDIJ@@ w IUUQTUFDISBDIPCQTJODKQIBDIJ@@ w IUUQTUFDISBDIPCQTJODKQIBDIJ@@

    w IUUQTRJJUBDPN4B,OJHIUJUFNTGDBBFEFCEBD
  32. None