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
120
最近の関心事 / My recent interest
Kanazawa.rb meetup #88 の LT。テスティングフレームワークを読んで作ってみようかな、という話。
muryoimpl
December 21, 2019
Tweet
Share
More Decks by muryoimpl
See All by muryoimpl
Rubyで鍛える仕組み化プロヂュース力
muryoimpl
0
980
人魚とたわむれる
muryoimpl
0
46
Kanzawa.rbのLT大会を支える技術の裏側を変更する Ruby on Rails + Litestream 編
muryoimpl
0
1.7k
Kanazawa.rb LT大会用/kzlt コマンドの説明 2024/01版
muryoimpl
0
3k
kzltコマンドの新たなソリューションについて
muryoimpl
0
3k
俺とTODOアプリ~Linearの変~
muryoimpl
0
2.7k
POSIX文字クラスでの躓き
muryoimpl
0
2.3k
/kzlt コマンドとは
muryoimpl
0
1k
meetup.kzrb.org の更新を考える 事前激闘編
muryoimpl
0
1.6k
Other Decks in Programming
See All in Programming
The free-lunch guide to idea circularity
hollycummins
0
340
Everything Claude Code OSS詳細 — 5層構造の中身と導入方法
targe
0
150
RailsのValidatesをSwift Macrosで再現してみた
hokuron
0
120
20260315 AWSなんもわからん🥲
chiilog
2
170
ポーリング処理廃止によるイベント駆動アーキテクチャへの移行
seitarof
3
1.3k
クライアントワークでSREをするということ。あるいは事業会社におけるSREと同じこと・違うこと
nnaka2992
1
360
DevinとClaude Code、SREの現場で使い倒してみた件
karia
1
1.1k
GoのDB アクセスにおける 「型安全」と「柔軟性」の両立 - Bob という選択肢
tak848
0
270
ネイティブアプリとWebフロントエンドのAPI通信ラッパーにおける共通化の勘所
suguruooki
0
170
Nuxt Server Components
wattanx
0
110
AI Assistants for Your Angular Solutions
manfredsteyer
PRO
0
160
new(1.26) ← これすき / kamakura.go #8
utgwkk
0
2.7k
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
220
What's in a price? How to price your products and services
michaelherold
247
13k
Navigating Team Friction
lara
192
16k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
320
Balancing Empowerment & Direction
lara
5
960
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4k
Tell your own story through comics
letsgokoyo
1
870
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
64
54k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.2k
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
もくもく会までに動くものを作るぞ! ◦ もしこなかったら…そういうことです… • 自分のライブラリで自分のライブラリのテス (オッ誰か来たようだ