minitest 6: test feistier! ryan davis, seattle.rb minitest 6 · presentation sammich 7. minitest 6:...
TRANSCRIPT
![Page 1: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/1.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Minitest 6: Test Feistier!
![Page 2: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/2.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Setting ExpectationsOverview / Idea TalkLittle CodeTesters at All Levels
265 slides / 40 min = ~7 spm�2
![Page 3: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/3.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
🎺🎷
🎊🎉�3
![Page 4: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/4.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
1000+ Gems!
�4
![Page 5: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/5.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Narrative?
�5
![Page 6: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/6.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider�6
![Page 7: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/7.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
%?
�6
![Page 8: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/8.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
%?🥙?
�6
![Page 9: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/9.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
%?🥙?🍔?
�6
![Page 10: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/10.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
what you’ll tell themActual Content
what you told them
Presentation Sammich
�7
![Page 11: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/11.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
😞
�8
![Page 12: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/12.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
➡🍔💬 = 👎
�9
![Page 13: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/13.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider�10
![Page 14: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/14.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
🗣🍔💬 = 🤢
�11
![Page 15: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/15.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider�12
https://www.flickr.com/photos/hsincheng_lin/12180213616
![Page 16: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/16.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
🥅
�13
![Page 17: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/17.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Sorry! 😨
�14
![Page 18: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/18.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
💍
�15
![Page 19: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/19.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
🤷2
�16
![Page 20: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/20.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
🖐Audience🖐
�17
![Page 21: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/21.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Beginner?
�18
![Page 22: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/22.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Minitest User?
�19
![Page 23: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/23.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
RSpec User?
�20
![Page 24: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/24.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
RSpec Fanatic?
�21
![Page 25: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/25.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
All are Welcome!
�22
![Page 26: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/26.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
(I Heckle Back)
�23
![Page 27: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/27.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
My Baby: Minitest
�24
![Page 28: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/28.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
❤
�25
![Page 29: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/29.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Testing=Passion
�26
![Page 30: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/30.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
1995!
�27
![Page 31: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/31.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Pre-XP
�28
![Page 32: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/32.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
TDDesign
�29
![Page 33: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/33.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
TDDevelopment
�30
![Page 34: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/34.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
TDD+YAGNI
�31
![Page 35: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/35.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Better Software
�32
![Page 36: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/36.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Every Time�33
![Page 37: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/37.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Every Time�33
(Almost)
![Page 38: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/38.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Minitest
�34
![Page 39: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/39.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
What I am talking about
�35
![Page 40: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/40.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Introduction
�36
![Page 41: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/41.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Quick History
�37
![Page 42: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/42.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Philosophy &
Purpose�38
![Page 43: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/43.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Major Changes
�39
![Page 44: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/44.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Architectural
�40
![Page 45: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/45.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
& API Changes
�41
![Page 46: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/46.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
What I am not talking about
�42
![Page 47: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/47.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Testing=Good
�43
![Page 48: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/48.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider�44
![Page 49: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/49.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider�44
![Page 50: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/50.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Use Minitest?
�45
![Page 51: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/51.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
✅Fantastic!
�46
![Page 52: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/52.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
❌That’s OK!
�47
![Page 53: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/53.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Informative
�48
![Page 54: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/54.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
🤜rspec🤛
�49
![Page 55: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/55.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider�50
![Page 56: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/56.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider�51
�i
∞
meh
![Page 57: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/57.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
∀x: minitest(x) < rspec(x)
�52
![Page 58: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/58.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
∀x: minitest(time) < rspec(time)
�53
![Page 59: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/59.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
∀x: minitest(mem) < rspec(mem)
�54
![Page 60: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/60.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
∀x: minitest(users) < rspec(users)
�55
![Page 61: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/61.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
∀x: minitest(dl) < rspec(dl)
�56
![Page 62: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/62.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
At the end of the day
�57
![Page 63: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/63.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
I do NOT care, as long as you test.
�58
![Page 64: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/64.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
That Said...
�59
![Page 65: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/65.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Minitest is faster and more direct
�60
![Page 66: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/66.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
⚙
�61
![Page 67: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/67.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
What & Why
�62
![Page 68: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/68.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
∂�63
![Page 69: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/69.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Guided Read of Minitest
�64
http://confreaks.tv/videos/rubyconf2015-a-guided-read-of-minitest
![Page 70: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/70.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Writing a Test Framework
from Scratch�65
http://www.zenspider.com/presentations/2016-roa.html
![Page 71: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/71.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
what you’ll tell them
Presentation Sammich
�66
![Page 72: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/72.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Quick Introduction
�67
![Page 73: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/73.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Test Framework
�68
![Page 74: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/74.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Unit & Functional
�69
![Page 75: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/75.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
XUnit-StyleClassesMethods
Assertions�70
![Page 76: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/76.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Spec-Styledescribe blocks
it blocksexpectations
�71
![Page 77: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/77.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
HardwareAgnostic
Performance Testing
�72
![Page 78: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/78.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Stubs & Mocks
�73
![Page 79: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/79.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
TDD & BDD
�74
![Page 80: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/80.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Clean Architecture
�75
![Page 81: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/81.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Very Very Fast
�76
![Page 82: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/82.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Flexible Reporting
�77
![Page 83: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/83.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Extensible: 200+ Gems
�78
![Page 84: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/84.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
The Briefest History of Minitest
�79
![Page 85: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/85.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
😴
�80
![Page 86: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/86.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
2004 test/unit
�81
![Page 87: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/87.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
🤷
�82
![Page 88: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/88.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
22 files, ~2400 LOC, ~2500 flog
�83
![Page 89: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/89.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
5 Runners
�84
![Page 90: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/90.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
2 “Collectors”
�85
![Page 91: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/91.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
and ALL the pattern buzzwords
�86
![Page 92: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/92.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
template engine
�87
![Page 93: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/93.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
assert_block
�88
![Page 94: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/94.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Why?
�89
![Page 95: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/95.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Failure Driven
Development�90
![Page 96: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/96.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
~25 Projects
�91
![Page 97: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/97.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Best of All
�92
![Page 98: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/98.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Only 75 lines!
�93
![Page 99: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/99.jpg)
at_exit { Test::Unit.autotest }
module Test class Assertion < Exception; end class Unit VERSION = "1.0.0" def self.autotest ObjectSpace.each_object(Class) do |klass| next unless klass < Test::Unit::TestCase inst = klass.new klass.public_instance_methods(true).each do |meth| next unless meth.index("test") == 0 begin inst.setup inst.send meth.intern inst.teardown rescue Exception => e print "\n", (Test::Assertion === e ? "Failure: " : "Error: ") puts "#{klass}.#{meth}: #{e}" puts e.backtrace end end end end end end
module Test class Unit class TestCase def setup; end def teardown; end def assert(test, msg="failed assertion (no message given)") raise Test::Assertion, msg unless test end def assert_equal(exp, act, msg=nil) assert exp == act, msg || "Expected #{act.inspect} to be equal to #{exp.inspect}" end def assert_in_delta(exp, act, delta, msg=nil) assert((exp.to_f - act.to_f).abs <= delta.to_f, msg || "Expected #{exp} to be within #{delta} of #{act}") end def assert_instance_of(cls, obj, msg=nil) assert cls === obj, msg || "Expected #{obj} to be a #{cls}" end def assert_kind_of(cls, obj, msg=nil) assert obj.kind_of?(cls), msg || "Expected #{obj.inspect} to be a kind of #{cls}" end def assert_match(exp, act, msg=nil) assert act =~ exp, msg || "Expected #{act.inspect} to match #{exp.inspect}" end def assert_nil(obj, msg=nil) assert obj.nil?, msg || "Expected #{obj.inspect} to be nil" end def assert_not_equal(exp, act, msg=nil) assert exp != act, msg || "Expected #{act.inspect} to not be equal to #{exp.inspect}" end def assert_not_nil(obj, msg=nil) assert ! obj.nil?, msg || "Expected #{obj.inspect} to not be nil" end def assert_not_same(exp, act, msg=nil) assert ! exp.equal?(act), msg || "Expected #{act.inspect} to not be the same as #{exp.inspect}" end def assert_raises(exp, msg=nil) yield assert false, "Expected #{exp} to be raised" rescue Exception => e assert exp === e, msg || "Expected #{exp} to be raised, but got #{e.class}" return e end alias :assert_raise :assert_raises def assert_same(exp, act, msg=nil) assert exp.equal?(act), msg || "Expected #{act.inspect} to be the same as #{exp.inspect}" end def assert_operator(o1, op, o2, msg="") assert o1.__send__(op, o2), msg || "Expected #{o1}.#{op}(#{o2}) to be true" end def assert_nothing_raised; yield; end end end end
![Page 100: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/100.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
History in a 🥜
�95
2006-10 1.0.0 Initial Release.2008-06 1.2.0 Full Assertions, Specs, and Mocks.2010-11 2.0.0 Benchmarks.2012-05 3.0.0 Stubs & other enhancements.2012-09 4.0.0 Nothing external. Internal name changes.2013-05 5.0.0 Huge overhaul. What I really wanted.2018-01 5.11.3 Current functionality. Expanded Reporters.
![Page 101: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/101.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
History in a 🥜
�95
2006-10 1.0.0 Initial Release.2008-06 1.2.0 Full Assertions, Specs, and Mocks.2010-11 2.0.0 Benchmarks.2012-05 3.0.0 Stubs & other enhancements.2012-09 4.0.0 Nothing external. Internal name changes.2013-05 5.0.0 Huge overhaul. What I really wanted.2018-01 5.11.3 Current functionality. Expanded Reporters.
![Page 102: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/102.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
History in a 🥜
�96
2006-10 1.0.0 Initial Release.2008-06 1.2.0 Full Assertions, Specs, and Mocks.2010-11 2.0.0 Benchmarks.2012-05 3.0.0 Stubs & other enhancements.2012-09 4.0.0 Nothing external. Internal name changes.2013-05 5.0.0 Huge overhaul. What I really wanted.2018-01 5.11.3 Current functionality. Expanded Reporters.
![Page 103: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/103.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider�97
![Page 104: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/104.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider�97
![Page 105: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/105.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Complexity Over Time
�98
0
750
1500
2250
300020
06
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
1 1.2 2 34 5 5.116
VersionLOCFlog
![Page 106: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/106.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
0
4500
9000
13500
18000
2.0 3.0 3.5
FlogLOC rspec 2-3.5
�99
![Page 107: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/107.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
0
4500
9000
13500
18000
2.0 3.0 3.5
FlogLOC
minitest
rspec 2-3.5
�99
![Page 108: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/108.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Minitest Firsts
�100
![Page 109: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/109.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Shuffle tests by default
�101
![Page 110: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/110.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Test & Spec, TDD & BDD
�102
![Page 111: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/111.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Benchmark Tests
�103
![Page 112: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/112.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Purpose & Philosophy of
Minitest�104
![Page 113: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/113.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
I ❤ XP
�105
http://www.projectcartoon.com
![Page 114: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/114.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Test First
�106
http://wiki.c2.com/?CodeUnitTestFirst
![Page 115: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/115.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
DTSTTCPW “dut-st-t-cupwuh”???
�107
http://wiki.c2.com/?DoTheSimplestThingThatCouldPossiblyWork
![Page 116: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/116.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
YAGNI
�108
http://wiki.c2.com/?YouArentGonnaNeedIt
![Page 117: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/117.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Incredibly Simple
�109
![Page 118: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/118.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Learning Ruby is hard enough!
�110
![Page 119: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/119.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
🏃Takes a Lot=
�111
![Page 120: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/120.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
minitest? rspec? Beginner?
Magic!�112
![Page 121: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/121.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Ruby is Magic
�113
![Page 122: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/122.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
def is my stub frameworkthingy = Something.new
def thingy.expensive_value 42 end
# …write fast tests…
�114
![Page 123: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/123.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Less Magic
�115
![Page 124: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/124.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Framework < Learning
�116
![Page 125: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/125.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Expand Toolbox
�117
![Page 126: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/126.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Lower the Bar
�118
![Page 127: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/127.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Lower the BarClasses & Objects
�118
![Page 128: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/128.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Lower the BarClasses & ObjectsMethods & Method calls
�118
![Page 129: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/129.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Lower the BarClasses & ObjectsMethods & Method callsReading API Doco
�118
![Page 130: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/130.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Nothing Extra
�119
![Page 131: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/131.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Usable Tools
�120
![Page 132: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/132.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Minimal Testrequire "minitest/autorun" class TestCalculator < Minitest::Test def test_basics assert_equal 4, calculate("2+2") end end
�121
![Page 133: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/133.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Minimal Specrequire "minitest/autorun" describe Calculator do it "should handle the basics" do _(calculate "2+2").must_equal 4 end end
�122
![Page 134: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/134.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
1:1
�123
![Page 135: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/135.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
specs are tests
�124
![Page 136: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/136.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Just Ruby™
�125
![Page 137: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/137.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Just Use Ruby™
�126
![Page 138: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/138.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Incredibly Fast
�127
![Page 139: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/139.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Fastest Test
Framework�128
![Page 140: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/140.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
It achieves that by doing nothing extraMinitest.autorun Minitest.run(args) Minitest.__run(reporter, options) Runnable.runnables.each runnable.run(reporter, options) self.runnable_methods.each do |method| self.run_one_method(method, reporter) Minitest.run_one_method(klass, method) klass.new(runnable_method).run
�129
![Page 141: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/141.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider�130
![Page 142: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/142.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
(Almost) Nothing Extra
�131
![Page 143: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/143.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Store Nothing Extra
�132
![Page 144: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/144.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
GC
�133
![Page 145: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/145.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Don’t Create Extra Objects
�134
![Page 146: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/146.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Release ASAP
�135
![Page 147: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/147.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Memory = #tests
�136
![Page 148: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/148.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Memory = #failures
�137
![Page 149: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/149.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
rspec is nx
�138
![Page 150: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/150.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Pain = Slow
�139
![Page 151: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/151.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
RSpec ~30% slower on a
fast suite�140
![Page 152: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/152.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Improve Testing
�141
![Page 153: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/153.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider�142
Randomize Test Order
Require Assertion Call?
Incre
dibly
Fast
Tests
Parallelization by default
01
2
3
45
6 78
9
1011
Only meaningful assertions
Choice: tests or specs
Benchmark Tests
Test Driven Design Refac
tor A
sser
tions
Refactor Test Classes
???
![Page 154: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/154.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider�143
Randomize Test Order
Require Assertion Call?
Incre
dibly
Fast
Tests
Parallelization by default
01
2
3
45
6 78
9
1011
Only meaningful assertions
Choice: tests or specs
Benchmark Tests
Test Driven Design Refac
tor A
sser
tions
Refactor Test Classes
???
![Page 155: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/155.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider�144
Randomize Test Order
Require Assertion Call?
Incre
dibly
Fast
Tests
Parallelization by default
01
2
3
45
6 78
9
1011
Only meaningful assertions
Choice: tests or specs
Benchmark Tests
Test Driven Design Refac
tor A
sser
tions
Refactor Test Classes
???
![Page 156: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/156.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider�145
Randomize Test Order
Require Assertion Call?
Incre
dibly
Fast
Tests
Parallelization by default
01
2
3
45
6 78
9
1011
Only meaningful assertions
Choice: tests or specs
Benchmark Tests
Test Driven Design Refac
tor A
sser
tions
Refactor Test Classes
???
![Page 157: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/157.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider�146
Randomize Test Order
Require Assertion Call?
Incre
dibly
Fast
Tests
Parallelization by default
01
2
3
45
6 78
9
1011
Only meaningful assertions
Choice: tests or specs
Benchmark Tests
Test Driven Design Refac
tor A
sser
tions
Refactor Test Classes
???
![Page 158: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/158.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider�147
Randomize Test Order
Require Assertion Call?
Incre
dibly
Fast
Tests
Parallelization by default
01
2
3
45
6 78
9
1011
Only meaningful assertions
Choice: tests or specs
Benchmark Tests
Test Driven Design Refac
tor A
sser
tions
Refactor Test Classes
???
![Page 159: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/159.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider�148
Randomize Test Order
Require Assertion Call?
Incre
dibly
Fast
Tests
Parallelization by default
01
2
3
45
6 78
9
1011
Only meaningful assertions
Choice: tests or specs
Benchmark Tests
Test Driven Design Refac
tor A
sser
tions
Refactor Test Classes
???
![Page 160: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/160.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider�149
Randomize Test Order
Require Assertion Call?
Incre
dibly
Fast
Tests
Parallelization by default
01
2
3
45
6 78
9
1011
Only meaningful assertions
Choice: tests or specs
Benchmark Tests
Test Driven Design Refac
tor A
sser
tions
Refactor Test Classes
???
![Page 161: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/161.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider�150
Randomize Test Order
Require Assertion Call?
Incre
dibly
Fast
Tests
Parallelization by default
01
2
3
45
6 78
9
1011
Only meaningful assertions
Choice: tests or specs
Benchmark Tests
Test Driven Design Refac
tor A
sser
tions
Refactor Test Classes
???
![Page 162: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/162.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider�151
Randomize Test Order
Require Assertion Call?
Incre
dibly
Fast
Tests
Parallelization by default
01
2
3
45
6 78
9
1011
Only meaningful assertions
Choice: tests or specs
Benchmark Tests
Test Driven Design Refac
tor A
sser
tions
Refactor Test Classes
???
![Page 163: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/163.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider�152
Randomize Test Order
Require Assertion Call?
Incre
dibly
Fast
Tests
Parallelization by default
01
2
3
45
6 78
9
1011
Only meaningful assertions
Choice: tests or specs
Benchmark Tests
Test Driven Design Refac
tor A
sser
tions
Refactor Test Classes
???
![Page 164: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/164.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider�153
Randomize Test Order
Require Assertion Call?
Incre
dibly
Fast
Tests
Parallelization by default
01
2
3
45
6 78
9
1011
Only meaningful assertions
Choice: tests or specs
Benchmark Tests
Test Driven Design Refac
tor A
sser
tions
Refactor Test Classes
???
![Page 165: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/165.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Reproducibility
�154
![Page 166: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/166.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Reproducibility is
Paramount�155
![Page 167: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/167.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
--seed ###�156
![Page 168: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/168.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
--name /pattern/
�157
![Page 169: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/169.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
i_suck_and_my_tests_are_order_dependent!
�158
![Page 170: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/170.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
No (less?) Dogma
�159
![Page 171: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/171.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
I ❤ That!
�160
![Page 172: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/172.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Not for Everyone
�161
![Page 173: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/173.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Should It?
�162
![Page 174: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/174.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
For me:
�163
![Page 175: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/175.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Test First (red, green, refactor)
�164
![Page 176: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/176.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
DTSTTCPW
�165
(do the simplest thing that could possibly work)
![Page 177: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/177.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Mock Last
�166
![Page 178: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/178.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider�167
![Page 179: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/179.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Simple.
�167
![Page 180: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/180.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Simple.Statist.
�167
![Page 181: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/181.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Simple.Statist.Tests.
�167
![Page 182: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/182.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
“You should write a test for anything that could break”
—Kent Beck
�168
![Page 183: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/183.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Major MT5 Changes
�169
![Page 184: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/184.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Major namespace rename MiniTest::Unit::TestCase
-> Minitest::Test.
�170
![Page 185: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/185.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Added Minitest::Benchmark
�171
![Page 186: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/186.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
No Managers No Runners
�172
![Page 187: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/187.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider�173
MiniTest
MiniTest::Assertion
MiniTest::Unit::Guard
MiniTest::Assertions
MiniTest::Expectations
MiniTest::Unit::TestCase
MiniTest::Spec::DSL
MiniTest::Unit::LifecycleHooks
MiniTest::PrideIO
MiniTest::Unit
MiniTest::PrideLOL
MiniTest::Spec
MiniTest::Skip
Minitest::BacktraceFilter Minitest::ParallelEach Minitest::Mock
Minitest 4
![Page 188: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/188.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider�174
Minitest
Minitest::Runnable
Minitest::Reporter Minitest::Assertion
Minitest::Guard
Minitest::BacktraceFilter
Minitest::Assertions
Minitest::Expectations
Minitest::Test
Minitest::Benchmark Minitest::Spec::DSL
Minitest::Test::LifecycleHooks
Minitest::ParallelEach
Minitest::PrideIO
Minitest::PrideLOL
Minitest::BenchSpec
Minitest::Spec
Minitest::Skip Minitest::UnexpectedErrorMinitest::CompositeReporter
Minitest::Mock
Minitest 5
![Page 189: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/189.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider�175
MiniTest
Minitest::Runnable
Minitest::Reporter Minitest::Assertion
Minitest::Guard
Minitest::BacktraceFilter
Minitest::Assertions
Minitest::Expectations
Minitest::Test
Minitest::Benchmark Minitest::Spec::DSL
Minitest::Test::LifecycleHooks
Minitest::ParallelEach
Minitest::PrideIO
Minitest::PrideLOL
Minitest::BenchSpec
Minitest::Spec
Minitest::Skip Minitest::UnexpectedErrorMinitest::CompositeReporter
Minitest::Mock
MiniTest::Unit
MT4 -> MT5Minitest
![Page 190: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/190.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Major MT6 Changes
�176
![Page 191: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/191.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Architectural Changes in Minitest 6
�177
![Page 192: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/192.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Same Namespace!
�178
![Page 193: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/193.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Same Classes!
�179
![Page 194: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/194.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
No Cruft!
�180
![Page 195: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/195.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
5.12.0 MT5 w/ deprecations on. 5.11.x MT5 w/o deprecations.5.3.3 Un-shuffled test suites.
Compatibility Chart
�181
![Page 196: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/196.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Yeah Yeah
�182
![Page 197: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/197.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Parallelism
�183
![Page 198: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/198.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
parallelize_me!
�184
![Page 199: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/199.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Make parallel the default?
�185
![Page 200: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/200.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
serialize_me!
�186
![Page 201: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/201.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Testing @ Scale Implementations
That Scale�187
![Page 202: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/202.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
All Tests, Completely
Shuffled�188
![Page 203: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/203.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Distributed Testing
�189
![Page 204: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/204.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Distribute Locally
�190
![Page 205: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/205.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Use all your CPUs!
�191
![Page 206: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/206.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
jeremyevans/minitest-parallel_fork 2 forks 4 forks spec_core: 1.25x - 1.36x 1.5x spec_model: 1.29x - 1.62x 1.72x - 2.02x spec_plugin: 1.57x - 1.76x 2.29x - 2.37x spec_sqlite: 1.75x - 1.86x 2.26x - 2.65x spec_postgres: 1.32x - 1.40x Untested
�192
![Page 207: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/207.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Distribute Across VMs
�193
![Page 208: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/208.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Speed Up CI
�194
![Page 209: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/209.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Config? Setup?
�195
![Page 210: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/210.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Minitest will expect:SSH accessOpen ports (or tunneling?)Same source layout
�196
![Page 211: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/211.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Safe to Assume?
�197
![Page 212: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/212.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Distribution / Parallelism libraries:
tmm1/test-queuejeremyevans/minitest-parallel_forkArturT/knapsack
�198
![Page 213: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/213.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Serialization Guarantees
�199
![Page 214: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/214.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
No Marshal Code
�200
![Page 215: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/215.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Added Result
�201
![Page 216: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/216.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Disconnected from Test
�202
![Page 217: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/217.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Better Parallel & Distributed Testing
�203
![Page 218: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/218.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Better GC
�204
![Page 219: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/219.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Ruby 2.5 Exceptions?
�205
![Page 220: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/220.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
CleanerProject
�206
![Page 221: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/221.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Split Files
�207
![Page 222: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/222.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Cleaner Call Stack
�208
![Page 223: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/223.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Not Sure
�209
![Page 224: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/224.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Current StackMinitest.autorun Minitest.run(args) Minitest.__run(reporter, options) Runnable.runnables.each do |runnable| runnable.run(reporter, options) self.runnable_methods.each self.run_one_method(self, method, reporter) Minitest.run_one_method(klass, method) klass.new(runnable_method).run
�210
![Page 225: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/225.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Minor RefactoringMinitest.autorun Minitest.run(args) Minitest.__run(reporter, options) methods = filter Runnable.runnables methods.each do |runnable| runnable.run(reporter, options) self.runnable_methods.each self.run_one_method(self, method, reporter) Minitest.run_one_method(klass, method) klass.new(runnable_method).run
�211
![Page 226: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/226.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Dream RefactoringMinitest.autorun Minitest.run(args) Minitest.__run(reporter, options) methods = filter Runnable.runnables methods.shuffle.each do |(runnable, method)| runnable.run(reporter, options) self.runnable_methods.each self.run_one_method(self, method, reporter) Minitest.run_one_method(klass, method) klass.new(runnable_method).run
�212
![Page 227: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/227.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Dream VersionMinitest.autorun Minitest.run(args) Minitest.__run(reporter, options) methods = filter Runnable.runnables methods.shuffle.each do |(runnable, method)| runnable.run_one_method(self, method, reporter) Minitest.run_one_method(klass, method) klass.new(runnable_method).run
�213
![Page 228: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/228.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Too Far?
�214
![Page 229: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/229.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Parallel By Default
�215
![Page 230: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/230.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Powerful!
�216
![Page 231: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/231.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Problematic
�217
![Page 232: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/232.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
DB Testing (non-transactional)
�218
![Page 233: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/233.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Time.now�219
![Page 234: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/234.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Code Changes
�220
![Page 235: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/235.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
command-line runner
�221
![Page 236: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/236.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
bin/minitest
�222
![Page 237: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/237.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Better Integration eg: s/minitest/minitest_bisect/
�223
![Page 238: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/238.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Rake’s TestTask
�224
![Page 239: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/239.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
minitest/test.rake
�225
![Page 240: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/240.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Improved Mocks/Stubs
�226
![Page 241: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/241.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
stub w/ blocks
�227
![Page 242: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/242.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Adding fake?obj = fake a:42
assert_equal 42, obj.a
�228
![Page 243: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/243.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Too Simple?def fake attribs obj = Object.new attribs.each do |name, value| obj.define_singleton_method name do value end end obj end
�229
![Page 244: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/244.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Stricter and Better Assertions.
�230
![Page 245: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/245.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
assert_equal(nil, x) => Failure
�231
![Page 246: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/246.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
More Explicit Signals Intent
�232
![Page 247: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/247.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Fix Tautological
Tests�233
http://randycoulman.com/blog/2016/12/20/tautological-tests/
![Page 248: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/248.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Assertion Reuse
�234
![Page 249: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/249.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
assert_operator assert_predicate
call assert_respond_to
�235
![Page 250: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/250.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Better FailuresFailure: Expected X to respond to message.
instead of:
Error: NoMethodError (undefined method `message’ for #<X:Y>).
�236
![Page 251: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/251.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Better Failure Messages
�237
![Page 252: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/252.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Especially w/ layered assertions
�238
![Page 253: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/253.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Removed assert_send
�239
![Page 254: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/254.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Improved Specs
�240
![Page 255: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/255.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
No more expectations on Object- class Object # :nodoc: - include Minitest::Expectations unless ENV["MT_NO_EXPECTATIONS"] - end
�241
![Page 256: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/256.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Easy Conversion# beforeo.m.must_equal 42
# after_(o.m).must_equal 42
�242
![Page 257: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/257.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Easy Conversion# beforeo.m.must_equal 42
# after_(o.m).must_equal 42value(o.m).must_equal 42 # or
�242
![Page 258: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/258.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Easy Conversion# beforeo.m.must_equal 42
# after_(o.m).must_equal 42value(o.m).must_equal 42 # orexpect(o.m).must_equal 42 # ugh
�242
![Page 259: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/259.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Much Cleaner
�243
![Page 260: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/260.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Closing
�244
![Page 261: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/261.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Introduction History
Philosophy�245
![Page 262: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/262.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Major Changes
�246
![Page 263: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/263.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Architectural
�247
![Page 264: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/264.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Parallelism
�248
![Page 265: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/265.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Distributed Testing &
Serialization�249
![Page 266: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/266.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Call Stack
�250
![Page 267: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/267.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Code Changes
�251
![Page 268: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/268.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
bin/minitest
�252
![Page 269: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/269.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
minitest/test.rake
�253
![Page 270: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/270.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
minitest/mock
�254
![Page 271: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/271.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Improved Assertions
�255
![Page 272: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/272.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Cleaner Specs
�256
![Page 273: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/273.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider�257
Randomize Test Order
Require Assertion Call?
Incre
dibly
Fast
Tests
Parallelization by default
01
2
3
45
6 78
9
1011
Only meaningful assertions
Choice: tests or specs
Benchmark Tests
Test Driven Design Refac
tor A
sser
tions
Refactor Test Classes
Distributed Testing
![Page 274: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/274.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider�258
https://xkcd.com/670/
![Page 275: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/275.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
That’s It!
�259
![Page 276: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/276.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Schedule?
�260
![Page 277: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/277.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Schedule?Unknown!
�260
![Page 278: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/278.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Schedule?Unknown!
Soon?!?�260
![Page 279: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/279.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Weeks to months
�261
![Page 280: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/280.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Not Longer (I hope?)
�262
![Page 281: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/281.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
I could use feedback and help!
�263
![Page 282: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/282.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Current draft is available at https://github.com/zenspider/minitest
on the mt6 branch.�264
![Page 283: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/283.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Thank You
![Page 284: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/284.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Thank YouIf you want to sponsor my work on Open Source:
![Page 285: Minitest 6: Test Feistier! Ryan Davis, Seattle.rb Minitest 6 · Presentation Sammich 7. Minitest 6: Test Feistier! RailsConf 2018, Pittsburgh, PA Ryan Davis, Seattle.rb](https://reader031.vdocuments.us/reader031/viewer/2022011910/5f797bb85c5d9f763b2bbe46/html5/thumbnails/285.jpg)
Minitest 6: Test Feistier!
RailsConf 2018, Pittsburgh, PA
Ryan Davis, Seattle.rb
@the_zenspider
Thank YouIf you want to sponsor my work on Open Source:
https://www.patreon.com/zenspider