2007-09-22

Ruby の Test::Unit で使える assertion

以下、使ったのは ruby 1.8.4 (2005-12-24) [powerpc-darwin]

ruby -e 'require "test/unit"
require "pp"
pp Test::Unit::Assertions.instance_methods.grep( /assert/ ).sort'

結果。

["assert",
 "assert_block",
 "assert_equal",
 "assert_in_delta",
 "assert_instance_of",
 "assert_kind_of",
 "assert_match",
 "assert_nil",
 "assert_no_match",
 "assert_not_equal",
 "assert_not_nil",
 "assert_not_same",
 "assert_nothing_raised",
 "assert_nothing_thrown",
 "assert_operator",
 "assert_raise",
 "assert_raises",
 "assert_respond_to",
 "assert_same",
 "assert_send",
 "assert_throws"]

pp がスキ。

pretty だから。

※ 実際には irb 上で叩いてますが、そこは適当に補完するなり。

link を相対で張るのって難しいんだね

今まで手作業でカレントディレクトリにしかリンクを置こうとしたことがなかったので悩んだことがなかった。

相対パスでリンクを置こうとする場合のパスの基準は、カレントディレクトリはなくリンクを置く場所なのであった。

super
 + parent   <- cwd
    + child
            <- link
 + parent2  <- 実体

みたいなツリーになっているとき、cwd で

ln -s ../parent2 child/parent2

みたいにやっちゃいがちだけど、実際には

ln -s ../../parent2 child/parent2

にしないといけないのね。

面倒なら絶対パスにしとけと。

About

例によって個人のなんちゃらです