Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
最近の関心事 / My recent interest
Search
muryoimpl
December 21, 2019
Programming
0
73
最近の関心事 / My recent interest
Kanazawa.rb meetup #88 の LT。テスティングフレームワークを読んで作ってみようかな、という話。
muryoimpl
December 21, 2019
Tweet
Share
More Decks by muryoimpl
See All by muryoimpl
Kanzawa.rbのLT大会を支える技術の裏側を変更する Ruby on Rails + Litestream 編
muryoimpl
0
230
Kanazawa.rb LT大会用/kzlt コマンドの説明 2024/01版
muryoimpl
0
2.5k
kzltコマンドの新たなソリューションについて
muryoimpl
0
2.4k
俺とTODOアプリ~Linearの変~
muryoimpl
0
2k
POSIX文字クラスでの躓き
muryoimpl
0
2k
/kzlt コマンドとは
muryoimpl
0
830
meetup.kzrb.org の更新を考える 事前激闘編
muryoimpl
0
1.3k
meetup.kzrb.org の更新を 考える ゆるふわ編
muryoimpl
0
1.3k
最近のデスク周りの diff / kzrb meetup#108-2
muryoimpl
0
20
Other Decks in Programming
See All in Programming
データベースのオペレーターであるCloudNativePGがStatefulSetを使わない理由に迫る
nnaka2992
0
140
SpringBoot3.4の構造化ログ #kanjava
irof
2
990
第3回関東Kaggler会_AtCoderはKaggleの役に立つ
chettub
3
1k
プログラミング言語学習のススメ / why-do-i-learn-programming-language
yashi8484
0
130
Djangoアプリケーション 運用のリアル 〜問題発生から可視化、最適化への道〜 #pyconshizu
kashewnuts
1
250
富山発の個人開発サービスで日本中の学校の業務を改善した話
krpk1900
4
380
ファインディの テックブログ爆誕までの軌跡
starfish719
2
1.1k
責務と認知負荷を整える! 抽象レベルを意識した関心の分離
yahiru
0
180
Open source software: how to live long and go far
gaelvaroquaux
0
630
一休.com のログイン体験を支える技術 〜Web Components x Vue.js 活用事例と最適化について〜
atsumim
0
440
CNCF Project の作者が考えている OSS の運営
utam0k
6
710
時計仕掛けのCompose
mkeeda
1
290
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
The Pragmatic Product Professional
lauravandoore
32
6.4k
Typedesign – Prime Four
hannesfritz
40
2.5k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
Six Lessons from altMBA
skipperchong
27
3.6k
Designing for humans not robots
tammielis
250
25k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
A designer walks into a library…
pauljervisheath
205
24k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
366
25k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.1k
Transcript
最近ひねりだした関心事 Kanazawa.rb meetup#88 2019/12/21 muryoimpl
それは今週の月曜日のことである。 そういえば最近仕事以外で Ruby でな んか書いてないなぁ… なんか書こうかな… さて…何を書こうかなぁ…
そうだ! テスティングフレームワークを書こう!
なぜにテスティングフレームワーク?
私もわかりません! なんとなく思い浮かんだんです…
後付けで考えてみた • 何かを置き換えよう!とかそんな壮大なことは考えていなくて、仕組みの理解とか、 実現方法とか知りたい。 • 機能追加のイメージがしやすくて、かつ、身近なもの、かつ、小さいもの ◦ 小さくないと、”かたち” になる前に飽きるんですよ …
(過去の屍を見ながら ) • いきなり RSpec, minitest, test-unit とか読み始めるのはハードル高いなぁ。なんか こうチュートリアル的なものないかな? ◦ ググった結果、なんかありそうだぞ〜 それで見つけたのがこれ ↓
https://ksylvest.com/posts/2018-08-01/building-a-testing-framework-similar-to-rspec-in-ruby
RSpec に似た Testing Framework を Ruby で書く • Specifier という名の
gem を作っていく初期の段階をコードと共に紹介されているも の • blog 上では、context, describe, it, expect(obj).to, equal を使って検証できるよう になるまでを扱っている。cli で実行もできる。 • これくらいから始めるのはよさげ • https://github.com/ksylvest/specifier では更に育てられていて、機能が追加され ている (let, color出力 etc) • これは写経してみたけど、さっくり書けるし、わかりやすかった
RSpec に似たものをみてみたのであれば次は… • xUnit 形式の Testing framework のチュートリアル的なものがあればやってみた い。=> ちょっとググったけど見つからない
• そういえば『テスト駆動開発』の二章が、Python だけど、まさに xUnit の実装を順を 追ってつくっていくもの => これをまず読んで考えよう • その後に minitest を追っていくつもり • RubyUnit http://suke.my.coocan.jp/ruby/rubyunit/index.html というものも見つけ たのだけど、minitest もそんなにコード量が多くないので、minitest を読むつもり
宿題 - 時間がなければ割愛 - • minitest のコードを読むぞ! • 次回の Kanazawa.rb
もくもく会までに動くものを作るぞ! ◦ もしこなかったら…そういうことです… • 自分のライブラリで自分のライブラリのテス (オッ誰か来たようだ