×
Copy
Open
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Shell Script Testing Framework shunit2 139݄19༵
Slide 2
Slide 2 text
Ruby On Rails͕ࣾͰ ༻͞ΕΔΑ͏ʹͳΓɺ UnitTest͕ॻ͔ΕΔΑ͏ʹ ͳ͖ͬͯ·ͨ͠ 139݄19༵
Slide 3
Slide 3 text
ʊਓਓਓਓਓਓਓਓਓਓਓਓਓਓਓਓਓਓਓਓਓਓਓਓਓʊ ʼɹɹɹςετίʔυ͕ແ͍ͷͰϨϏϡʔʹ͠ͳ͍ɹɹʻ ʉ:?:?:?:?:?:?:?:?:?:?:?:?:?:?:?:?:?:?:?:?:ʉ 139݄19༵
Slide 4
Slide 4 text
ͷॴଐ͢ΔνʔϜShell(Bash)Ͱ ৭ʑ࡞ۀ͢Δࣄ͕ଟ͍ΜͰ͕͢ 139݄19༵
Slide 5
Slide 5 text
ҰํͰεΫϦϓτ͕ଟ͘ ͳ͖ͬͯͨͷͰ ͪΌΜͱςετΛॻ͖͍ͨͱࢥ͍ shunit2Λಋೖ͠·ͨ͠ 139݄19༵
Slide 6
Slide 6 text
͍ํ 139݄19༵
Slide 7
Slide 7 text
※ҙ 1.ςετؔ”test”͔Β ͡·Δ໊લʹ͍ͯͩ͘͠͞ 2.shunit2࠷ޙʹinclude ͍ͯͩ͘͠͞ 139݄19༵
Slide 8
Slide 8 text
shunit2/src/shunit2 Λinclude 139݄19༵
Slide 9
Slide 9 text
testͰ͡·ΔؔΛॻ͘ 139݄19༵
Slide 10
Slide 10 text
scriptͷ࣮ߦ 139݄19༵
Slide 11
Slide 11 text
ςετʹࣦഊ͢Δύλʔϯ 139݄19༵
Slide 12
Slide 12 text
݁Ռ 139݄19༵
Slide 13
Slide 13 text
ղઆ 139݄19༵
Slide 14
Slide 14 text
TestingFrameworkͰҰൠతʹ Assertions(Ξαʔγϣϯɿද໌) ͱ͍͏ɺϓϩάϥϜͷ ಈ࡞݁Ռ͕ظ͍ͯ͠Δͷͱ ֬ೝ͢ΔͨΊͷػೳ͕͋Γ·͢ 139݄19༵
Slide 15
Slide 15 text
ઌఔͷσϞͰ shunit2ʹඋ͑ΒΕͯΔ assertEquals ͱ͍͏ؔΛ͍ɺ 2ͭͷΛൺֱ͍ͯ͠·ͨ͠ 139݄19༵
Slide 16
Slide 16 text
assertEqualsؔ ҾΛ2ͭ͢ͱͦͷ2ͭΛൺֱ͠ Ұக͍ͯͨ͠Βޭɺ ͦ͏Ͱͳ͔ͬͨΒࣦഊͱ͍͏ ϨϙʔτΛग़ྗ͠·͢ 139݄19༵
Slide 17
Slide 17 text
ςετ௨Δ 139݄19༵
Slide 18
Slide 18 text
ςετ௨Βͳ͍ 139݄19༵
Slide 19
Slide 19 text
͜Ε͕UnitTestͷجຊͰ͢ ؆୯Ͱ͢Ͷʂ 139݄19༵
Slide 20
Slide 20 text
※ҙʢେࣄͳࣄͳͷͰryʣ 1.ςετؔ”test”͔Β ͡·Δ໊લʹ͍ͯͩ͘͠͞ 2.shunit2࠷ޙʹinclude ͍ͯͩ͘͠͞ 139݄19༵
Slide 21
Slide 21 text
Demo2 https://github.com/YudaiSuzuki/shunit2_demo 139݄19༵
Slide 22
Slide 22 text
ҾΛ*2ͯ͠ฦؔ͢ͷςετ 139݄19༵
Slide 23
Slide 23 text
ϓϩμΫτͷίʔυ 139݄19༵
Slide 24
Slide 24 text
ςετͷίʔυ 139݄19༵
Slide 25
Slide 25 text
oneTimeSetUp ςετͷҝͷઃఆͷಡΈࠐΈΛߦ͏ؔɻ ϑΝΠϧΛincludeͨ͠ΓɺςετσʔλΛ ςετ༻DBʹϩʔυͨ͠Γ͢Δ͜ͱ͕ Ͱ͖·͢ɻ ্هͰಡΈࠐΜͩΛফ͍ͨ࣌͠ oneTimeTearDown ͱ͍͏ؔΛ༻͠·͢ɻ 139݄19༵
Slide 26
Slide 26 text
ҾʹҎ֎Λ͢ͱ Τϥʔ͕ग़ΔΑ͏ʹ͍ͨ͠ 139݄19༵
Slide 27
Slide 27 text
139݄19༵
Slide 28
Slide 28 text
139݄19༵
Slide 29
Slide 29 text
assertTrue / assertFalse assertTrueshellͷcondition͕0Ͱ͋Ε ޭͱݟͳ͠·͢ɻ assertFalse0Ҏ֎Ͱ͋Ε ޭͱΈͳ͠·͢ɻ ͜͜ͰɺؔͷฦΓͷνΣοΫͱͯ͠ ༻͍ͯ͠·͢ɻ 139݄19༵
Slide 30
Slide 30 text
ݩͷؔʹ ܕͷνΣοΫػೳΛೖΕΔ 139݄19༵
Slide 31
Slide 31 text
139݄19༵
Slide 32
Slide 32 text
139݄19༵
Slide 33
Slide 33 text
shunit2ಋೖ͕؆୯ͳͷͰɺ UnitTestॻ͍ͨ͜ͱͳ͍ਓ ׂͱ؆୯ʹࢼͤΔͱࢥ͍·͢ 139݄19༵
Slide 34
Slide 34 text
͓·͚ ඪ४ग़ྗʹ৭Λ͚Δ 139݄19༵
Slide 35
Slide 35 text
shunit2ͷςετ݁Ռදࣔ σϑΥϧτͰ৭͕͍ͭͯ·ͤΜ 139݄19༵
Slide 36
Slide 36 text
TDD͢ΔͳΒ Γ৭͕͍ͭͯΔํ͕ ؾ͕ΔͷͰ… 139݄19༵
Slide 37
Slide 37 text
https://github.com/YudaiSuzuki/ shunit2_demo/commit/ 62fdb8bc13073267a1cb8c72a7df7eb 8ce7bcddb 139݄19༵
Slide 38
Slide 38 text
ࢀߟ http://a4p.me/archives/1157 139݄19༵
Slide 39
Slide 39 text
Demo2ͷίʔυԼهʹ͋ΔͷͰ ࢼ͍ͨ͠ਓclone͍ͯͬͯͩ͘͠͞ ※masterϒϥϯνshebang͕ ͷݸਓڥ༷ʹͳͬͯ·͢ɻ linuxϒϥϯν/bin/bashʹͳͬͯ·͢ https://github.com/YudaiSuzuki/shunit2_demo 139݄19༵
Slide 40
Slide 40 text
Enjoy Testing!! 139݄19༵