是否有任何工具可以检测在不同ruby版本中表现不同的代码?

时间:2010-11-03 01:40:50

标签: ruby

是否有任何工具可以表明您的代码可以在不同的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?

2 个答案:

答案 0 :(得分:2)

gem One9允许您运行测试套件,它会报告您调用的哪些方法在1.8和1.9之间发生了变化。

答案 1 :(得分:0)

我没有听说过任何事情,虽然rvm和好的测试相结合可以帮助你讲清楚。

rvm能够遍历已安装的所有rubies并在每个rubies中执行给定的脚本。如果该脚本是一套测试,您可能会发现任何基于版本的错误。 Set Actions是你想要读取rvm善良的地方。