空前の power_assert ブームのようなので流行にのるために minitest-power_assert というのを作りました.
ベースは test-unit-power_assert で主に assertion の部分だけを minitest に対応させたもの...ですが、rails で power_assert gem を読み込んだら盛大に壊れるようになってしまい、そこのデバッグにちょっと時間がかかりました。
その原因を突き止めるまでのソーシャルコーディングの様子はこちら: https://twitter.com/hsbt/status/472939190351433729
readme にも書いてますが
class TestPowerAssert < Minitest::Test
def test_power_assert_failed
assert { "0".class == "3".to_i.times.map {|i| i + 1 }.class }
end
end
と、assert をブロック付きで使うことで、テストが落ちた時には
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
こんな出力を得ることが出来ます。開発途中やリグレッションテストを書く時に重宝しそうな感じです。
ご活用ください。