当我在模型上运行RSpec时,为什么会出现"strip"和"downcase"的未定义方法错误?

are*_*idi 6 ruby testing rspec

我正在模型上运行RSpec测试并获取字符串方法的错误,例如:"index",downcase,"和"strip."任何想法为什么会这样,我如何解决它?

bta*_*bta 12

如果您获得"未定义的方法",那么您正在操作的对象可能不是字符串.尝试.class在调用之前打印出结果.strip等,看看你正在使用什么类型的对象.通常返回字符串的函数可能会nil在出错时返回非字符串(如),并且您可能会无意中对此类操作进行操作.

  • 是! 谢谢bta,这很有用.我在调用.strip之前指定了.to_s,并且完美无缺.看起来应用程序在没有.to_s的情况下运行正常,按计划执行条带和下行程序.RSpec显然是关于这种类型的肛门.再次感谢. (4认同)