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
60
最近の関心事 / My recent interest
Kanazawa.rb meetup #88 の LT。テスティングフレームワークを読んで作ってみようかな、という話。
muryoimpl
December 21, 2019
Tweet
Share
More Decks by muryoimpl
See All by muryoimpl
Kanazawa.rb LT大会用/kzlt コマンドの説明 2024/01版
muryoimpl
0
870
kzltコマンドの新たなソリューションについて
muryoimpl
0
870
俺とTODOアプリ~Linearの変~
muryoimpl
0
1.1k
POSIX文字クラスでの躓き
muryoimpl
0
1.1k
/kzlt コマンドとは
muryoimpl
0
440
meetup.kzrb.org の更新を考える 事前激闘編
muryoimpl
0
920
meetup.kzrb.org の更新を 考える ゆるふわ編
muryoimpl
0
940
最近のデスク周りの diff / kzrb meetup#108-2
muryoimpl
0
18
ショートカットキーのショートカットキー / shortcut keys of shortcut keys
muryoimpl
0
84
Other Decks in Programming
See All in Programming
Cloudflare Workers x AWS Lambdaの組み合わせユースケース / Cloudflare Workers x AWS Lambda Combination Use Case
seike460
PRO
2
310
Async Await: Mastering Python's Time-Bending Tricks - EuroPython2024
yanbo
1
290
Introduction of Happy Eyeballs Version 2 (RFC8305) to the Socket library
coe401_
1
220
CSC307 Lecture 14
javiergs
PRO
0
220
日付と正規化
megmogmog1965
0
140
継続的な活動で築く地方エンジニアの道
myamashii
2
360
MIERUNE BBQにおけるユーザー中心設計()
mierune
PRO
1
110
Trial
cairolibrary720
1
130
Terraformテスト入門
msato
0
540
データカタログ運用物語 〜令和6年夏の理想と現実〜
kuro_kurorrr
0
110
SRE チーム立ち上げ前に考えたこと・取り組んだこと / Considerations and Preparations Before Establishing an SRE Team
mackey0225
3
320
Webエディタライブラリ 「CodeMirror」から学ぶ Webアプリ開発のテクニック
ryosukeigarashi
0
250
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
31
4.7k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
19k
10 Git Anti Patterns You Should be Aware of
lemiorhan
652
58k
For a Future-Friendly Web
brad_frost
173
9.2k
A designer walks into a library…
pauljervisheath
201
24k
Imperfection Machines: The Place of Print at Facebook
scottboms
262
13k
StorybookのUI Testing Handbookを読んだ
zakiyama
15
4.9k
How STYLIGHT went responsive
nonsquared
93
5k
Creatively Recalculating Your Daily Design Routine
revolveconf
214
11k
In The Pink: A Labor of Love
frogandcode
139
22k
Navigating Team Friction
lara
181
13k
Scaling GitHub
holman
458
140k
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
もくもく会までに動くものを作るぞ! ◦ もしこなかったら…そういうことです… • 自分のライブラリで自分のライブラリのテス (オッ誰か来たようだ