Hatena::Grouphackathon

zrail (a.k.a. tobira17, h14i, ...) の Learning Log

2012-08-06

[][]また使い方忘れた 02:21 また使い方忘れた - zrail (a.k.a. tobira17, h14i, ...) の Learning Log を含むブックマーク はてなブックマーク - また使い方忘れた - zrail (a.k.a. tobira17, h14i, ...) の Learning Log

MiniTest::Assertions#assert_output

こっち(てきとうロギング)にも書いたのにまた忘れた。

もう三回くらい忘れてる。

便利なんだけど意外と使ってない。

require 'minitest/autorun'

class OutPutTest < MiniTest::Unit::TestCase
  def test_assert_output
    assert_output "stdout\n", "stderr\n" do
      puts "stdout"
      warn "stderr"
    end
  end
end

出力がないことをテストするには assert_silent を使う。


特に理由があるわけではないけど、僕は minitest(test/unit) 派。


追記。

assert_output の第1引数と第2引数が期待する*1出力。

テストケース自体*2はブロック内に書く、感じなのかなぁ。出力を行う部分のコードだけ書くほうがいいのかな。ちょっと分からない。

*1:他のアサーションメソッドの exp 引数

*2:他の(中略)の act 引数