为什么Crystal会产生虚假错误

时间:2018-11-02 11:23:34

标签: crystal-lang

我正在学习的同时,正在将Ruby程序转换为Crystal。

这是我收到的错误消息:

# Error
Failures:
  1) Test Rule class can return the name property
     Failure/Error: rule.name.should be "RpsIphone"

       Expected: "RpsIphone" (object_id: 4504126256)
            got: "RpsIphone" (object_id: 4524981536)

     # spec/rule_spec.cr:11

这是导致它的代码

# from spec
rule.name.should be "RpsIphone"

与.same比较时,我还检查了两个字符串吗?也说他们不一样。我已经一遍又一遍地看了这9个字符。我想念什么?

1 个答案:

答案 0 :(得分:5)

  • 水晶的.should be测试对象是否相同, 相同,相同的object_id
  • 水晶的.should eq测试值是否相同