是否有任何工具可以表明您的代码可以在不同的ruby版本中产生不同的结果?
我正在设想像
这样的东西a = 1
b = 2
string = [1, 2, 3, 4].to_s
ToolName: Array#to_s has different behaviour in Ruby 1.8 and 1.9
或者失败,检查每一行的每个变量,并指出它们在不同版本下分歧的第一个点,例如:
Ruby1.8:
a: 1 at line 1
b: 2 at line 2
string: "1234" at line 3
Ruby1.9:
a: 1 at line 1
b: 2 at line 2
string: "[1, 2, 3, 4]" at line 3
Ruby1.8 and Ruby1.9 first differ at line 3
或者是目前可用于单元测试代码的唯一方法,并确保测试通过所有版本的ruby?
答案 0 :(得分:2)
gem One9允许您运行测试套件,它会报告您调用的哪些方法在1.8和1.9之间发生了变化。
答案 1 :(得分:0)
我没有听说过任何事情,虽然rvm和好的测试相结合可以帮助你讲清楚。
rvm能够遍历已安装的所有rubies并在每个rubies中执行给定的脚本。如果该脚本是一套测试,您可能会发现任何基于版本的错误。 Set Actions
是你想要读取rvm善良的地方。