SlideShare a Scribd company logo
minitest調べてみた
みなさん、テスト書いていますか?
私はもうshouldとか書きたくありません
流石に4年rails漬けだと、shoule色々慣れま 
した 
そしてやっぱりshouldキモいです
そんなときに新規案件到来
よろしい、ならばrails4.1+minitestだ!!
そう思って調べてみたら、一番詳しい資料が 
minitest vs rspec 
http://sssslide.com/speakerdeck.com/willnet/minites 
t-vs-rspec 
去年のruby hirobaのものでした orz
結論 
minitestに対する知見はここ1年、全然溜 
まっていない 
…よろしい、ならば自分で自分で全部試し 
てみよう 
minitestのREADME.mdを上から順番に試し 
てみました! 
● https://github.com/seattlerb/minitest 
●
結果下が"基本構成"という結論になりまし 
た 
group :test do 
# 必須 
gem "minitest" 
gem "minitest-rails" 
gem "minitest-rails-capybara” # capybaraで結合テストできるようにする 
# 機能追加 
gem “minitest-stub_any_instance” # mock作成 
gem "minitest-doc_reporter”  # テスト結果の表示を整形 
end
基本構成 
● minitest + minitest-rails は必須 
● これにテスト結果表示のgem(好きなもの) 
● 思う存分テスト書式をgemで変更する 
これが基本構成 
(この段階で普通に使えますが) 
ここを柱に、必要に応じてカスタマイズ
ドキュメントフォーマッタ 
Minitestのドキュメントフォーマッタは次の 
3種類+素のまま 
● minitest-reporters 
● minitest-doc_reporter 
● minitest-documentation 
それぞれ紹介して行きます
minitest-reporters 
● テスト結果をプログレスバーで表示します
minitest-doc_reporter 
● 整形されたドキュメントで表示
minitest-documentation 
● これもドキュメント表示
書式変更 
● rspecに近づけたり、他の言語のテストフ 
レームワークに近づけたり本当にたくさんあ 
る
● minitest-shouldify 
● minitest-should_syntax 
● minitest-spec-expect 
● minitest_should 
● minitest-matchers 
● minitest-english 
● minitest-great_expectations 
● minitest-power_assert 
● minitest-predicates 
● minitest-spec-context 
● minitest-spec-magic 
● rspec2minitest 
● assay-minitest
● 全部は紹介しきれないけど2つだけ紹介 
● ちなみに私は、assert_equalしたかったので 
何も追加していません 
● minitest-english 
true.must_equal true 
true.wont_equal false
minitest-power_assert 
Groobyのpower assertの移植 
ruby kaigiでも紹介されてました 
1) Failure: 
TestPowerAssert#test_power_assert_failed [test/test_power_assert.rb:10]: 
assert { "0".class == "3".to_i.times.map {|i| i + 1 }.class } 
| | | | | 
| | | | Array 
| | | [1, 2, 3] 
| | #<Enumerator: 3:times> 
| 3 
String
問題 
● minitest最新版に追随出来ていないものもあ 
る 
● 時々拡張gem同士がまだ競合する 
でも、rspecと違って拡張に強いので今後の 
未来がある! 
流れ的には、minitest
正直もうrspecウンザリなので 
Minitest仲間募集中です!!

More Related Content

PDF
Oss貢献超入門
PDF
再帰、漸化式、差分方程式とアルゴリズム Gx#20
PDF
LL Planets: JavaScript八面六臂
PDF
IT業界における伝統芸能の継承 #hachiojipm
PDF
LT司会資料(わんくま同盟名古屋勉強会#15)
PPTX
PM Beginners #06 : MTGの理想と現実
PPT
RubyKaigi2011の雰囲気
PDF
gemの複数バージョンカジュアルテスト #shibuyarb
Oss貢献超入門
再帰、漸化式、差分方程式とアルゴリズム Gx#20
LL Planets: JavaScript八面六臂
IT業界における伝統芸能の継承 #hachiojipm
LT司会資料(わんくま同盟名古屋勉強会#15)
PM Beginners #06 : MTGの理想と現実
RubyKaigi2011の雰囲気
gemの複数バージョンカジュアルテスト #shibuyarb

More from baban ba-n (12)

ODP
Typusとadministrateを比較してみよう
ODP
Typusと付き合ってきた話
ODP
ハッカソン。来た、見た、負けた! Spajam2016仙台予選
ODP
ガラホ、なるものに対応してきた
ODP
人工言語ロジバン超入門編
ODP
普通のエンジニアが【ロジバン】やってみた
ODP
プログラミング言語Cyanの紹介
ODP
Rubyのコードを読んでみよう(オブジェクト編)
ODP
Rubyのソースコードを読んでみよう(入門編)
ODP
rails 管理画面作成gem Typus解説
PDF
名前重要 超重要
ODP
Rails-Plugin Flexturesの紹介
Typusとadministrateを比較してみよう
Typusと付き合ってきた話
ハッカソン。来た、見た、負けた! Spajam2016仙台予選
ガラホ、なるものに対応してきた
人工言語ロジバン超入門編
普通のエンジニアが【ロジバン】やってみた
プログラミング言語Cyanの紹介
Rubyのコードを読んでみよう(オブジェクト編)
Rubyのソースコードを読んでみよう(入門編)
rails 管理画面作成gem Typus解説
名前重要 超重要
Rails-Plugin Flexturesの紹介
Ad

Minitest調べてみた