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
66
最近の関心事 / 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
1.9k
kzltコマンドの新たなソリューションについて
muryoimpl
0
1.9k
俺とTODOアプリ~Linearの変~
muryoimpl
0
1.7k
POSIX文字クラスでの躓き
muryoimpl
0
1.7k
/kzlt コマンドとは
muryoimpl
0
640
meetup.kzrb.org の更新を考える 事前激闘編
muryoimpl
0
1.1k
meetup.kzrb.org の更新を 考える ゆるふわ編
muryoimpl
0
1.1k
最近のデスク周りの diff / kzrb meetup#108-2
muryoimpl
0
19
ショートカットキーのショートカットキー / shortcut keys of shortcut keys
muryoimpl
0
84
Other Decks in Programming
See All in Programming
レガシーシステムにどう立ち向かうか 複雑さと理想と現実/vs-legacy
suzukihoge
14
2k
生成 AI を活用した toitta 切片分類機能の裏側 / Inside toitta's AI-Based Factoid Clustering
pokutuna
0
720
約9000個の自動テストの 時間を50分->10分に短縮 Flakyテストを1%以下に抑えた話
hatsu38
24
12k
僕がつくった48個のWebサービス達
yusukebe
20
17k
役立つログに取り組もう
irof
28
9.3k
カラム追加で増えるActiveRecordのメモリサイズ イメージできますか?
asayamakk
4
1.9k
Dev ContainersとGitHub Codespacesの素敵な関係
ymd65536
1
140
外部システム連携先が10を超えるシステムでのアーキテクチャ設計・実装事例
kiwasaki
1
280
CPython 인터프리터 구조 파헤치기 - PyCon Korea 24
kennethanceyer
0
250
Duckdb-Wasmでローカルダッシュボードを作ってみた
nkforwork
0
100
3rd party scriptでもReactを使いたい! Preact + Reactのハイブリッド開発
righttouch
PRO
1
580
Ethereum_.pdf
nekomatu
0
370
Featured
See All Featured
Happy Clients
brianwarren
97
6.7k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
A designer walks into a library…
pauljervisheath
202
24k
The Art of Programming - Codeland 2020
erikaheidi
52
13k
What's new in Ruby 2.0
geeforr
343
31k
4 Signs Your Business is Dying
shpigford
180
21k
Speed Design
sergeychernyshev
24
600
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
Optimising Largest Contentful Paint
csswizardry
33
2.9k
Building Adaptive Systems
keathley
38
2.3k
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
もくもく会までに動くものを作るぞ! ◦ もしこなかったら…そういうことです… • 自分のライブラリで自分のライブラリのテス (オッ誰か来たようだ