Slide 1

Slide 1 text

"OHVMBS+FTUͰεφοϓγϣ ο τςε τ +BO $MBTTJ"OHVMBS/JHIU !PLVOPLFOUBSP

Slide 2

Slide 2 text

୭ w Ԟ໺ݡଠ࿠!PLVOPLFOUBSP w ΫϨε΢ΣΞ୅ද w ΞϓϦέʔγϣϯ ɾ ΤϯδχΞ w "OHVMBS೔ຊϢʔβʔձ

Slide 3

Slide 3 text

΍ͬͨ͜ͱ w "OHVMBSσϕϩούʔζΨΠ υ w ೔ͷ τϥΠΤϥʔ͔Βੜ·Εͨେن໛ઃܭϊ΢ϋ΢
 'SPOUFOE$POGFSFODF'VLVPLB w ࣍ੈ୅8FCΧϯϑΝϨϯε8FC.VTJDηογϣϯ
 ࣍ੈ୅8FCΧϯϑΝϨϯε

Slide 4

Slide 4 text

+FTU w 'BDFCPPL੡ͷςε τϑ ϨʔϜϫʔΫ w IUUQTKFTUKTJP w ߴ଎ͳ࣮ߦͱɺ ߴ଎ͳ࠶࣮ߦ w ϚϧνίΞΛ׆༻ͨ͠ฒྻ࣮ߦ w εφοϓγϣ ο τςε τ

Slide 5

Slide 5 text

+FTUͷϝ Ϧ ο τ w +FTU$-*͕༏ल w ΢Υ ονͱ࠶࣮ߦʹؔ͢Δૢ࡞ੑ͕ͱͯ΋Α͍ w མͪͨςε τͷΈ࠶࣮ߦ w ςε τͷϑΝΠϧ໊ɺ ςε τͷεϖοΫ໊ͰߜΓࠐΜͰ࣮ߦ w ,BSNBىಈͷ͕࣌ؒෆཁɺ ਺ඵͰऴྃ

Slide 6

Slide 6 text

KFTUQSFTFUBOHVMBS w IUUQTHJUIVCDPNUIZNJLFFKFTUQSFTFUBOHVMBS w "OHVMBS$-*ͷ࡞੒͢Δ؀ڥ͸+BTNJOF,BSNBΛલఏͱ͍ͯ͠Δ w +FTUΛ࢖͏ࡍʹඞཁͳઃఆͱɺ ඞཁͳґଘؔ܎Λఏڙͯ͘͠ΕΔ w +BTNJOFͰਐΊ͍ͯΔҊ͔݅Β৐Γ׵͑Δࡍ͸UTDPOpHͷখࡉ޻͕ඞཁ w IUUQTTQFBLFSEFDLDPNPLVOPLFOUBSPOHLZPUPBOHVMBS NFFUVQ TMJEF

Slide 7

Slide 7 text

w ͜Ε͸3FBDUͷྫ w ྫͰ͸-JOLͱ͍͏ ίϯϙʔωϯ τ .jsx Λ
 react-test-rendererͱ͍͏ ϥΠ ϒϥ ϦΛܦ༝͢Δ͜ͱͰݕূ͍ͯ͠Δ εφοϓγϣ ο τςε τ import React from 'react'; import Link from '../Link.react'; import renderer from 'react-test-renderer'; it('renders correctly', () => { const tree = renderer .create(Facebook) .toJSON(); expect(tree).toMatchSnapshot(); });

Slide 8

Slide 8 text

εφοϓγϣ ο τςε τ w +FTUͷεφοϓγϣ ο τςε τͰ͸ɺ จࣈྻΛεφοϓγϣ ο τͱͯ͠อଘ͓͖ͯ͠
 ճ໨Ҏ߱ͷςε τͰॳճͷεφοϓγϣ ο τͱ࠷৽ͷ݁ՌΛൺֱ͢Δ w 3FBDU͚ͩͰͳ͘"OHVMBS΋ಉ༷ʹՄೳ w ઌʹ঺հͨ͠KFTUQSFTFUBOHVMBSͷ͓͔͛

Slide 9

Slide 9 text

εφοϓγϣ ο τςε τ w εφοϓγϣ ο τςε τͰམͪͨΒ
 ҙਤతͳมߋʹΑΔ΋ͷ͔ෆҙͷޡΓͳͷ͔ؾ͚ͮΔ w ҙਤతͳΒ͹εφοϓγϣ ο τଆΛߋ৽Ͱ͖Δ w ΨνΨνʹ݁߹ςε τΛॻ͍ͯ͠· ͏ ͱґଘͷมߋͰςε τͷमਖ਼ίε τ͕ਹΉ w FFΛΨνΨνʹॻ͘ ͱࠣࡉͳมߋͰ΋མͪΔ w εφοϓγϣ ο τςε τ͸ΏΔ ͘޿͘ ΧόʔͰ͖Δ

Slide 10

Slide 10 text

ո͍͠ڍಈ΋ʜ w ͸ςϯϓϨʔ τ্Ͱෳ਺ͷཁૉΛ ͘ ͘ Δͷʹ࢖͑Δ
 "OHVMBS͕ఏڙ͢Δཁૉ w %0.ͱ ͯ͠ੜ੒͞Εͳ͍ͷͰೖΕࢠʹͯ͠΋ϓϩμΫ τʹӨڹ͠ͳ͍ w ͸͕ͣʜ w +FTUͷεφοϓγϣ ο τͰ͸ۭനจࣈͱ ͯ͠ѻΘΕΔΑ ͏ Ͱ ʢόά ʁ ʣ 
 ͷ૿ݮͰεφοϓγϣ ο τςε τ͕མͪΔͱ͍͏໰୊͕͋Δ
 ஫ҙ

Slide 11

Slide 11 text

5IBOLZPV