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
2.5k
RSpecで書かれたテストの高速化 / TokyuRubyKaigi10
TokyuRuby会議10(2016/05/29)
Yuichi Goto
May 29, 2016
Tweet
Share
More Decks by Yuichi Goto
See All by Yuichi Goto
[Teaser] Type-Safe Lightweight DDD with Effect Schema
yasaichi
1
96
Google Cloud を用いたソフトウェア開発の内製化組織の早期立ち上げの実現 / Rapid Establishment of In-House Software Development Teams Using Google Cloud
yasaichi
1
810
[EN] Robust and Scalable API Gateway Built on Effect
yasaichi
3
230
Effectで作る堅牢でスケーラブルなAPIゲートウェイ / Robust and Scalable API Gateway Built on Effect
yasaichi
8
1.8k
あるRailsエンジニアがビジネスリーダーに転身するまで
yasaichi
8
2.8k
Active Recordから考える次の10年を見据えた技術選定 / Architecture decision for the next 10 years at PIXTA
yasaichi
50
21k
Active Recordから考える次世代のRuby on Railsの方向性 / Directions for the next generation of Ruby on Rails: From the viewpoint of its Active Record
yasaichi
38
20k
ピクスタのエンジニアリングとCircleCI / Software Engineering with CircleCI at PIXTA
yasaichi
1
390
Ruby on Railsの正体と向き合い方 / What is Ruby on Rails and how to deal with it?
yasaichi
143
90k
Other Decks in Technology
See All in Technology
家電アプリ共通PF "Linova" のAPI利用とPostman活用事例ご紹介
yukiogawa
0
110
Amazon Location Serviceを使ってラーメンマップを作る
ryder472
2
270
AIをプロダクトに実装するならAPIで分離しよう 〜タクシーアプリ『GO』のアーキテクチャ実例紹介〜
74th
2
140
10分で紹介するAmazon Bedrock利用時のセキュリティ対策 / 10-minutes introduction to security measures when using Amazon Bedrock
hideakiaoyagi
0
150
AIエージェントについてまとめてみた
pharma_x_tech
20
13k
スタートアップ1人目QAエンジニアが QAチームを立ち上げ、“個”からチーム、 そして“組織”に成長するまで / How to set up QA team at reiwatravel
mii3king
1
340
Ask! NIKKEIの運用基盤と改善に向けた取り組み / NIKKEI TECH TALK #30
kaitomajima
1
420
依存関係があるコンポーネントは Barrel ファイルでまとめよう
azukiazusa1
3
500
技術的負債解消の取り組みと専門チームのお話 #技術的負債_Findy
bengo4com
1
1.1k
トラシューアニマルになろう ~開発者だからこそできる、安定したサービス作りの秘訣~
jacopen
2
460
【Developers Summit 2025】プロダクトエンジニアから学ぶ、 ユーザーにより高い価値を届ける技術
niwatakeru
2
180
これからSREになる人と、これからもSREをやっていく人へ
masayoshi
6
4k
Featured
See All Featured
Unsuck your backbone
ammeep
669
57k
The World Runs on Bad Software
bkeepers
PRO
67
11k
Visualization
eitanlees
146
15k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
390
Measuring & Analyzing Core Web Vitals
bluesmoon
6
230
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
Building an army of robots
kneath
302
45k
Automating Front-end Workflow
addyosmani
1367
200k
Being A Developer After 40
akosma
89
590k
YesSQL, Process and Tooling at Scale
rocio
171
14k
Building Better People: How to give real-time feedback that sticks.
wjessup
366
19k
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
͓ΘΓ