Slide 1

Slide 1 text

JestͱWallaby.jsͰ࢝ΊΔ ָ͍͠JavaScript testing @subuta 2019/6/26

Slide 2

Slide 2 text

ࣗݾ঺հ • ໊લ: ੪౻ॣଠ (@subuta) • JavaScriptपΓͷ΋ͷ͕޷͖Ͱ ͢ɻ࠷ۙ͸͓࢓ࣄͰ΋ Node.js(Koa + Next.js)Λ࢖͑ͯ ͯϋοϐʔͰ͢ɻ • React͕ओʹ޷͖Ͱ͕͢ɺVue.js ΋Angular.js΋ᅂΉఔ౓ʹ͸ ৮ͬͯ·͢ɻ༻్ʹԠͨ͡ద੾ ͳ΋ͷΛબͿͷ͕ྑͦ͞͏ɻ

Slide 3

Slide 3 text

Jestͱ͸ Jest is a delightful JavaScript Testing Framework with a focus on simplicity.

Slide 4

Slide 4 text

Jestͱ͸ Jest is a delightful JavaScript Testing Framework with a focus on simplicity.
 γϯϓϧ͞ʹϑΥʔΧεָ͍ͨ͠͠+BWB4DSJQU 5FTUJOH'SBNFXPSL

Slide 5

Slide 5 text

Wallaby.jsͱ͸ Wallaby.js runs your JavaScript tests immediately as you type and displays execution results in your code editor. It also provides beautiful test and code coverage reports updated in realtime.

Slide 6

Slide 6 text

Wallaby.jsͱ͸ Wallaby.js runs your JavaScript tests immediately as you type and displays execution results in your code editor. It also provides beautiful test and code coverage reports updated in realtime.
 
 8BMMBCZKT͸͋ͳͨͷςετίʔυΛλΠϐϯάʹԠ ࣮ͯ͡ߦ͠ɺ࣮ߦ݁ՌΛΤσΟλ্ʹදࣔ͠·͢ɻ
 ·ͨϦΞϧλΠϜͰͷςετͷ࣮ߦ݁Ռ͓Αͼίʔυ ΧόϨοδͷϨϙʔτදࣔ΋ߦ͍·͢ɻ

Slide 7

Slide 7 text

໨࣍ w ԿΛςετ͢΂͖͔ w ςετͷ࣮૷ྫ

Slide 8

Slide 8 text

ԿΛςετ͢΂͖͔ Ͳ͏ͤ΍ΔͳΒ໢ཏతʹ΍Γ͍ͨ ίʔυΧόϨο δΛʹ͍ͨ͠ ͷͰɺ͢΂ͯͷςετΛॻ͖ͨ ͍ɾɾ

Slide 9

Slide 9 text

ԿΛςετ͢΂͖͔ Ͳ͏ͤ΍ΔͳΒ໢ཏతʹ΍Γ͍ͨ ίʔυΧόϨοδΛ ʹ͍ͨ͠ ͷͰɺ͢΂ͯͷςετΛॻ͖͍ͨɾɾ
 
 ݱ࣮తʹ͸ݫ͍͠ɻ w ͍͍ͩͨͷϓϩδΣΫτͰͦΜͳ༨༟ ࣌ؒ༧ࢉ ͸ͳ ͍ɻ w ͷ඼࣭Ͱ࡞Δͷ͸؆୯͚ͩͲɺ࢒ΓͷΛ΍Γ͖ Ζ͏ͱ͢Δͱ͕͔͔࣌ؒΔɻ lύϨʔτͷ๏ଇzతͳ΍ͭ

Slide 10

Slide 10 text

ԿΛςετ͢΂͖͔ ⭕࠷௿ݶɺඞཁͳͱ͜Ζ͚ͩςετΛॻ͘ɻ

Slide 11

Slide 11 text

ԿΛςετ͢΂͖͔ ⭕ྫ͑͹͜ΜͳςετΛॻ͘ w खͰςετ͢Δͷ͕೉͍͠ ໘౗ͳ Օॴ w ྫ೔෇ލ͗ ࠷খ஋࠷େ஋ͷೖྗ w αʔϏεͷࠜװʹؔΘΔ ॏཁͳ ॲཧ w ྫ͓ۚपΓͷॲཧ ݸਓ৘ใʹؔΘΔॲཧ

Slide 12

Slide 12 text

ԿΛςετ͢΂͖͔ ❌ٯʹ͜Μͳςετ͸ෆཁ ˞ݸਓͷҙݟͰ͢  w ϥΠϒϥϦͷڍಈ w ͦ΋ͦ΋ϥΠϒϥϦଆͰςετΛॻ͍ͯΔ͸ͣɻ w 6*ͷςετ w ৔߹ ϓϩμΫτͷੑ࣭ɺ։ൃن໛ ʹ΋ΑΔ͕ɺ6* ͸ίϩίϩมΘΔͷͰɺॻ͍ͯ΋ແବʹͳΓ͕ͪ

Slide 13

Slide 13 text

ςετͷ࣮૷ྫ(σϞ) IUUQTHJUIVCDPNTVCVUBQMBZXJUIKFTU ੫ࠐΈͷ஋ஈΛ࣋ͬͨ঎඼%#ͷαϯϓϧ w ୯ମςετ w ݁߹ςετ %#࿈ܞ  ͔Βͷফඅ੫૿੫  
 ʹͲ͏ରԠ͢Δ͔ɾɾʹ஫໨

Slide 14

Slide 14 text

࿩ͨ͜͠ͱ w 4JOPO+4ͷVTF'BLF5JNFST ͱ͍͏ͷΛ࢖͏ͱɺ ೔෇ͷϞοΫ͕Ͱ͖Δɻ˞+FTUʹ΋૊ΈࠐΈͷ VTF'BLF5JNFST ͕͋Δɻ w KFTUGO Λ࢖͏ͱɺؔ਺ΛϞοΫͰ͖Δɻ˞Πϕϯ τϋϯυϥ ྫPO$MJDL ͷςετͱ͔Ͱ΋࢖͑ͯศར w KFTUNPDL Λ࢖͏ͱɺಛఆͷϞδϡʔϧΛϞοΫ Ͱ͖Δɻ˞@@NPDLT@@σΟϨΫτϦʹϑΝΠϧΛஔ ͘͜ͱͰࣗಈͰϞοΫ͢Δ࢓૊Έ΋͋Γ·͢ɻ

Slide 15

Slide 15 text

Wallaby.jsͷྑ͍ͱ͜Ζ w ςετͷ࣮ߦ݁Ռ͕ɺ࣮ߦՕॴͷۙ͘ʹ ͙͢ʹ ද ࣔ͞ΕΔɻ w ΧόϨοδ͕ΤσΟλ্ʹදࣔ͞ΕΔɻ˞ΧόϨο δࣗମ͸OZDͳͲΛ࢖͑͹औΕΔɻ w ؆қతͳϕϯνϚʔΫ΋෇͍ͯΔ ࣮ߦ͕஗͍ॲཧΛ ݟ͚ͭ΍͍͢

Slide 16

Slide 16 text

ςετͷ଎౓վળͷࣄྫ →

Slide 17

Slide 17 text

͓·͚ w KFTUTQZ0O Λ࢖͏ͱɺϝιουݺͼग़͠ΛϞοΫ Ͱ͖Δɻ ϞοΫݩͷݺͼग़͠Λ๷͙৔߹͸ KFTUTQZ0O NPDL*NQMFNFOUBUJPO Λ࢖͏ɻ  w +FTUʹ͸4OBQTIPU5FTUJOHͱ͍͏6*ͷςετ޲͚ʹ ར༻Ͱ͖Δػೳ͕͋Γ·͢ɻ w &&ςετ ϒϥ΢βʹΑΔࣗಈςετ Λߦ͏৔߹͸ɺ $ZQSFTTͱ͍͏πʔϧ΋͋Γ·͢ɻ Կ͔Χοί͍͍ ΍ͭ

Slide 18

Slide 18 text

͝੩ௌ͋Γ͕ͱ͏͟͝ ͍·ͨ͠