#gotanda.rb 第37回目 で発表したスライドです。
ͯ͠Ձͷ͋Δςετઃܭ2019-06-26 @ gotanda.rb # 37Yuji Imagawa ( @ug23_ )
View Slide
εϚʔτΩϟϯϓͷࠓͰ͢• ࠓ༟࢜ @ug23_• ΤϯδχΞ4• લ৬͕QAΤϯδχΞ• ͍·RailsΔ͠VueΔ͠ΠϯϑϥΔ• #tddyyχ ͷͳ͔ͷͻͱ• ؾʹͳ͍ͬͯΔ͜ͱ: Sorbet
ࠓि͔ΒΦϑΟεҠస͠·ͨ͠
We are hiring!ࣄۀΛΓ͍ͨΤϯδχΞืूதͰ͢ [εϚʔτΩϟϯϓ ΤϯδχΞ] [ݕࡧ]
ࠓͷςʔϚRSpec ͱ ςετ
ࢲͷςετઃܭͷͷ΄͏͕ϝΠϯͰ͢
͓͠ͳ͕͖• QAΤϯδχΞ࣌ͷ• Α͍ͬͯ͘Δςετઃܭ• RSpecʹԠ༻͢Δ
QAΤϯδχΞ࣌ͷ
ςετͷϨϏϡʔ͍͠• ϨϏϡʔͯ͠ʂͱ͞ΕΔExcel• ্Լʹ͘ηϧ݁߹͞ΕͨΧςΰϦ• ҧ͍͕Θ͔Βͳ͍ࣅͨςετέʔε
ࢥͬͨ͜ͱExcelͷςετέʔεϨϏϡʔ͢Δͷ͕͍͠
ࢥͬͨ͜ͱExcelʹͳΔલʹϨϏϡʔ͍ͨ͠
ͨͲΓண͍ͨ͑• ϚΠϯυϚοϓ͔Β࢝ΊΔιϑτΣΞςετ• ా ڿ (ஶ), ླ ࡾل (ஶ)• ϚΠϯυϚοϓͷ ࡉׂ͔͍Ѫ͠·͢
ϚΠϯυϚοϓͷΑ͍ͱ͜Ζ• ॻ͘աఔͰ಄ΛཧͰ͖Δ• ݟΔଆจষΑΓݟ͍͢• πϦʔͳͷͰࣗͷݟΔతʹΑͬͯ ୳ࡧ๏ΛબͰ͖Δ• ਂ͞༏ઌ or ෯༏ઌ• ༿·ͰݟΔ or ͋Δ֊͚ͩ͏※ޮՌʹݸਓ͕ࠩ͋Γ·͢
Α͍ͬͯ͘Δςετઃܭ
ϚΠϯυϚοϓΛ͍·͢• ํେ·͔ͳέʔεΛߟ͑Δ࣌ ϚΠϯυϚοϓΛॻ͖·͢• ޙ͔ΒRSpecॻ࣌͘ͱ͔ɺखಈͷγεςϜςετʹͳΔ߹• ͚ࣗͩͷͱ͖εέονϒοΫʹ ඳ͖·͕͢Gitʹ͋͛ΒΕͳ͍…
GitͰཧͰ͖ΔϚΠϯυϚοϓΛ࡞Δ• Markdown→ϚΠϯυϚοϓԽ͢Δ• ࣗ Atomͷ Markdown Mindmap Λར༻͍ͯ͠·͢
σϞ
ςετઃܭ༻ϚΠϯυϚοϓͷॻ͖ํ• ֊ߟ͑ͳ͍• ͷͼͷͼॻ͘ʂ• ը໘ΛΠϝʔδ͍͍ͯ͠͠ Ϋϥεผͷ୯ҐΛΠϝʔδͯ͠ྑ͍• ༿ͷཁૉ͕1ͭҎ্ͷςετέʔεʹ ରԠ͢ΔΑ͏ʹॻ͘
͍ํ• ςετέʔεͷϨϏϡʔ࣌ʹ͏• ৽ϝϯόʔ͕ೖͬͨ࣌ͳͲ ͦͷγεςϜͷ༷Ұཡͱͯ͠ݟͤΔ• ΈΜͳͰख͚ͯ͠ಈ࡞֬ೝ͍ͨ࣌͠ ʮ͜ͷลͬͯʯͱ͔ਤࣔ͢Δ• ػೳ͕େ͖͘มΘͬͨΒϓϧϦΫग़͢
෭࡞༻ͱͯ͠γεςϜͷػೳΛࣔͨ͠ ਤʹͳΔ
RSpecʹԠ༻͢Δ
ͦͦRSpec• ͱͱBDDπʔϧ• ࢲୡSpecificationΛॻ͍͍ͯΔ• "rpsec --format documentation" ͱ ࣮ߦͯ͠Έͯ΄͍͠• ڵຯΛ࣋ͬͨํ ʰςετۦಈ։ൃʱ(ΦʔϜࣾ)ͷC
RSpecΛ༷ॻͰ͋Δ͔ͷΑ͏ʹॻ͖͍ͨ• ςετΛ࣮ߦͯ݁͠ՌΛಡΉͱ ͦͷ෦ͷίʔυͷ༷͕Θ͔ΔΑ͏ʹ ͍͖͍ͯͨ͠• ͖ͬ͞ͷϚΠϯυϚοϓͱؔ࿈͚Δ
࣮ࡍʹͬͯΈͨ• FizzBuzzͰྫʹͯ͠Έͨ
࣮• ݟͤ·͢• Gistʹ͋͛·ͨ͠• https://gist.github.com/ug23/9aafd9e7666ffaa9a1aaba3640d6d5d8
rspec࣮ߦ݁ՌfizzbuzzindexΛදࣔจࣈྻʹม͢Δ3ͷഒͷͱ͖Fizz5ͷഒͷͱ͖Buzz15ͷഒͷͱ͖FizzBuzz3ͷഒͰ5ͷഒͰͳ͍ͱ͖ͦͷ··ग़ྗ͢Δindex:1ͷͱ͖ͷදࣔจࣈྻΛվߦ۠ΓͰඪ४ग़ྗ͢Δindex:15ͷͱ͖ͷදࣔจࣈྻΛվߦ۠ΓΛඪ४ग़ྗ͢Δճ͢Δ1͔Β100·ͰͰग़ྗ͢Δ
ҙ• ͳʹ͔ΛΞτϓοτ͢Δࡍʹ ϚΠϯυϚοϓΛϕʔεʹ͢ΔΠϝʔδ• ٯ͋·Γߟ͍͑ͯ·ͤΜ ٯʹ໘ʹͳΔ͔͠Ε·ͤΜ • ͬͱ͍͍͍ํ͋Εڭ͍͑ͯͩ͘͞
·ͱΊ
·ͱΊ• ςετઃܭͷखஈͱͯ͠ ϚΠϯυϚοϓΛར༻ͯ͠·͢• ςετઃܭͷϚΠϯυϚοϓ͕ ͦͷ··ػೳҰཡʹͳͬͯ ͍Ζ͍Ζ͑·͢• ͦͷ··RSpecςετέʔεʹ མͱ͠ࠐΜͰ͍·͢