Kanazawa.rb meetup #88 の LT。テスティングフレームワークを読んで作ってみようかな、という話。
最近ひねりだした関心事Kanazawa.rb meetup#882019/12/21muryoimpl
View Slide
それは今週の月曜日のことである。そういえば最近仕事以外で 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 もくもく会までに動くものを作るぞ!○ もしこなかったら…そういうことです…● 自分のライブラリで自分のライブラリのテス (オッ誰か来たようだ