清单 1. 带 bug 的 Ruby 代码
position = "2" #string, where a number was intended position = positoin + 4 #position is misspelled, evaluates to 0 puts "The position is:" + position.to_string #The method should be to_s |
如果编译器能够捕捉 bug,那么这类 bug 解决起来是小菜一碟,但是如果依赖解释器,那么管理这些 bug 就困难得多。为了处理这些微妙的错误,动态语言的用户长期以来一直依赖于自动测试。在进行测试的时候,比起其他语言,动态语言及其集成环境在一般意义和特殊意义上都具有显著的优势: