当前位置:  开发笔记 > 后端 > 正文

Rails Rspec整数等于字符串("1"== 1)

如何解决《RailsRspec整数等于字符串("1"==1)》经验,为你挑选了1个好方法。

在rspec中,你如何在忽略类型的同时比较某些东西的价值?

Failure/Error: expect(variable).to eql model.id

  expected: 1234
       got: "1234"

  (compared using eql?)

我试过eq(比较使用==)和eql(比较使用eql?)...我也读过/sf/ask/17360801/.

如何让rspec认为这两个值相等?



1> Eric Duminil..:

不同类的实例不能相等.

您需要转换它们,使它们成为同一个类的实例:

"1234" == 1234
#=> false
"1234".to_i == 1234
#=> true
1234.to_s == "1234"
#=> true

所以在你的例子中:

expect(variable.to_i).to eql model.id
# or less logical :
expect(variable).to eql model.id.to_s

推荐阅读
农大军乐团_697
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有