Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
RSpecで書かれたテストの高速化 / TokyuRubyKaigi10
Search
Yuichi Goto
May 29, 2016
Technology
2.6k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
RSpecで書かれたテストの高速化 / TokyuRubyKaigi10
TokyuRuby会議10(2016/05/29)
Yuichi Goto
May 29, 2016
More Decks by Yuichi Goto
See All by Yuichi Goto
[Teaser] Type-Safe Lightweight DDD with Effect Schema
yasaichi
3
580
Google Cloud を用いたソフトウェア開発の内製化組織の早期立ち上げの実現 / Rapid Establishment of In-House Software Development Teams Using Google Cloud
yasaichi
1
1.7k
[EN] Robust and Scalable API Gateway Built on Effect
yasaichi
3
480
Effectで作る堅牢でスケーラブルなAPIゲートウェイ / Robust and Scalable API Gateway Built on Effect
yasaichi
9
2.5k
あるRailsエンジニアがビジネスリーダーに転身するまで
yasaichi
9
3.4k
Active Recordから考える次の10年を見据えた技術選定 / Architecture decision for the next 10 years at PIXTA
yasaichi
50
23k
Active Recordから考える次世代のRuby on Railsの方向性 / Directions for the next generation of Ruby on Rails: From the viewpoint of its Active Record
yasaichi
38
22k
ピクスタのエンジニアリングとCircleCI / Software Engineering with CircleCI at PIXTA
yasaichi
1
490
Ruby on Railsの正体と向き合い方 / What is Ruby on Rails and how to deal with it?
yasaichi
147
95k
Other Decks in Technology
See All in Technology
国家プロジェクトを支える「さくらONE」 大規模LLM開発におけるGPU障害を乗り越えるクラスター運用戦略
gpuunite_official
0
260
わたしが知り合いゼロの勉強会に 行けるようになるまで
r5ni4
1
210
AI・HPC開発を支えるGPU環境の新しい選択肢 液冷GPUシステム「AquSys」の取り組み
gpuunite_official
0
230
作って理解するCoding Agent 〜フレームワークに頼らないピュア Python での実装〜
takapy
3
1.1k
属人化を叩き割れ!「制作加速」と「安定化」の矛盾を打破する:8年目プロダクトが辿り着いた「ミスが起こり得ない」アセット制作フローの全貌
gree_tech
PRO
0
360
トークンマネジメントでAIにとって働きやすい環境を実現する
hikaruegashira
0
150
地震情報アプリを作ってみた
yama3133
1
110
AI for Science時代を切り開く、政府の次世代HPC戦略の展望
gpuunite_official
0
230
【GCC2026】鉄拳8でのVFX開発事例
bandainamcostudios
PRO
0
290
dbt in Microsoft Fabric
ryomaru0825
0
200
LanceDB入門
mocobeta
9
670
Kiro入門|仕様駆動開発で変わるAI時代の開発スタイル
cmkudo
0
340
Featured
See All Featured
Practical Orchestrator
shlominoach
191
12k
What's in a price? How to price your products and services
michaelherold
247
13k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
240
A Modern Web Designer's Workflow
chriscoyier
698
190k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
360
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Building an army of robots
kneath
306
46k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
480
Navigating Team Friction
lara
192
16k
Unsuck your backbone
ammeep
672
58k
Fireside Chat
paigeccino
42
4k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Transcript
RSpecͰॻ͔Εͨςετͷ ߴԽ TokyuRubyKaigiɹ2016/05/29 @yasaichi
ࣗݾհ [1] pry(main)> me => { twitter: "@_yasaichi", github: "yasaichi",
blog: "http://web-salad.hateblo.jp" }
ൃද༰ 1. എܠ 2. ݕ౼ࣄ߲ 3. ݁Ռ 4. ·ͱΊ
എܠ
എܠ • “ຊମ”ͷςετʹΊͬͪΌ͕͔͔࣌ؒΔ • ςετέʔε3ສʢهʣɺ1ͩͱ࣌ؒ • CIαʔϏεͰฒྻ࣮ߦͯ͠೫ࡔ46ͷ ΞϧόϜ1ຕௌ͚Δ͘Β͍ͭ
೫ࡔϑΝϯతʹخ͍͠ ͕ɺϏδωεϚϯతʹخ͘͠ͳ͍ͷͰɾɾɾ
αʔϏεͷػೳՃɾվળΛ ૉૣ͘ܧଓతʹߦ͏ͨΊʹɺ ςετͷߴԽ͕ඞཁ ʂʂʂ (ʆɾωɾ´)ŝžŕ
ݕ౼ࣄ߲
ީิ • ࣍ͷ3ͭͷgemͷར༻Λݕ౼ • parallel_tests • test-queue • RRRSpecʢΫοΫύου͞Μʙʙʣ
ॴײ1 • test-queue >= parallel_tests • Master-WorkerύλʔϯΛ࠾༻͍ͯ͠ΔͷͰ ֤ϓϩηεͰ࣮ߦ͕࣌ؒภΓʹ͍͘ • ͲͪΒϚγϯεϖοΫͷ੍Λड͚Δ
ॴײ2 • test-queue ≒ RRRSpec • தنʢ1ͷϚγϯͰेఔʣͳΒ test-queueͷํ͕͓खܰ • େنͳΒࢄ࣮ߦɾεέʔϧΞτʹ
ΑΔॊೈͳӡ༻͕ՄೳͳRRRSpec
ฐࣾͰ • ࠷ॳʹtest-queueΛಋೖͯ͠Έͨ • 16ίΞͷϚγϯͰ16ฒྻͱ͔ͬͯΈͨ ͚Ͳظ͢Δ࣮ߦ࣌ؒʹͳΒͳ͔ͬͨ • ͱ͍͏Θ͚ͰRRRSpecΛಋೖ
݁Ռ
͔͜͜ΒΫοΫύου͞Μͷ ճ͠ऀʹͳΓ·͢
ΊͬͪΌ͘ͳͬͨ • 15ఔ·Ͱॖ • ϦϦʔεαΠΫϧ͕େ෯ʹॖ • ίετ10%ఔݮͨ͠ • ΫοΫύουͳ͠Ͱੜ͖͍͚ͯͳ͍ମʹ
ͨͩ݁ߏେมͩͬͨ • ͋Μ·Γใ͕ͳ͍ • GitHubʹυΩϡϝϯτ͕͋Δʹ͋Δ͕ ίʔυΛݟͳ͍ͱΘ͔Βͳ͍͜ͱଟ͍ • DockerͰಈ͘αϯϓϧ͋Δ͕͔͜͜Β ࣮ӡ༻࣌ͷߏΛΠϝʔδ͠ʹ͍͘
None
ؤுͬͯམͱ͠ࠐΜͩ • https://github.com/yasaichi/rrrspec-tutorial • ฐࣾͰͷ࣮ӡ༻࣌ͷߏʹ͔ͳΓ͍ۙ • ίϛοτΛॱʹ͍ͬͯ͘͜ͱͰҙຯ͕ Θ͔Δͣɾɾɾʂ
·ͱΊ
·ͱΊ • ςετ͕͔ͬͨͷͰRRRSpecΛಋೖͨ͠ • CDΞϧόϜ1ຕ -> 15 & ίετݮ •
ͨͩɺͦΕͳΓʹେมͩͬͨͷͰΦϨΦϨ αϯϓϧ༻ҙͨ͠Α
One more thing…
None
͓ΘΓ