Slide 1

Slide 1 text

最近ひねりだした関心事 Kanazawa.rb meetup#88 2019/12/21 muryoimpl

Slide 2

Slide 2 text

それは今週の月曜日のことである。 そういえば最近仕事以外で Ruby でな んか書いてないなぁ… なんか書こうかな… さて…何を書こうかなぁ…

Slide 3

Slide 3 text

そうだ! テスティングフレームワークを書こう!

Slide 4

Slide 4 text

なぜにテスティングフレームワーク?

Slide 5

Slide 5 text

私もわかりません! なんとなく思い浮かんだんです…

Slide 6

Slide 6 text

後付けで考えてみた ● 何かを置き換えよう!とかそんな壮大なことは考えていなくて、仕組みの理解とか、 実現方法とか知りたい。 ● 機能追加のイメージがしやすくて、かつ、身近なもの、かつ、小さいもの ○ 小さくないと、”かたち” になる前に飽きるんですよ … (過去の屍を見ながら ) ● いきなり RSpec, minitest, test-unit とか読み始めるのはハードル高いなぁ。なんか こうチュートリアル的なものないかな? ○ ググった結果、なんかありそうだぞ〜 それで見つけたのがこれ ↓

Slide 7

Slide 7 text

https://ksylvest.com/posts/2018-08-01/building-a-testing-framework-similar-to-rspec-in-ruby

Slide 8

Slide 8 text

RSpec に似た Testing Framework を Ruby で書く ● Specifier という名の gem を作っていく初期の段階をコードと共に紹介されているも の ● blog 上では、context, describe, it, expect(obj).to, equal を使って検証できるよう になるまでを扱っている。cli で実行もできる。 ● これくらいから始めるのはよさげ ● https://github.com/ksylvest/specifier では更に育てられていて、機能が追加され ている (let, color出力 etc) ● これは写経してみたけど、さっくり書けるし、わかりやすかった

Slide 9

Slide 9 text

RSpec に似たものをみてみたのであれば次は… ● xUnit 形式の Testing framework のチュートリアル的なものがあればやってみた い。=> ちょっとググったけど見つからない ● そういえば『テスト駆動開発』の二章が、Python だけど、まさに xUnit の実装を順を 追ってつくっていくもの => これをまず読んで考えよう ● その後に minitest を追っていくつもり ● RubyUnit http://suke.my.coocan.jp/ruby/rubyunit/index.html というものも見つけ たのだけど、minitest もそんなにコード量が多くないので、minitest を読むつもり

Slide 10

Slide 10 text

宿題 - 時間がなければ割愛 - ● minitest のコードを読むぞ! ● 次回の Kanazawa.rb もくもく会までに動くものを作るぞ! ○ もしこなかったら…そういうことです… ● 自分のライブラリで自分のライブラリのテス (オッ誰か来たようだ