这个似乎不太流行,不过还是觉得有价值。
这个不能取代单元测试,反之亦然。
module Kernel
def assert_param x
raise Exception.new 'param error' if !x
end
def assert x
raise Exception.new 'error' if !x
end
end
def pl x
#先验条件, 可以注释掉对比下哪一个错误更容易理解
assert_param x.class == String
#
#main
p x.upcase
res = 1
#后验条件
assert res > 0
end
pl 1
pl 'x'