首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Rspec未定义方法“to”

Rspec未定义方法“to”
EN

Stack Overflow用户
提问于 2014-09-09 12:03:57
回答 1查看 1.4K关注 0票数 1

因此,我有一个未定义的方法错误,即Rspec方法“to”。我有一个有以下代码的规范

代码语言:javascript
代码运行次数:0
运行
复制
  it "sends an email to users who have favorited the post" do
    @user.favorites.where(post: @post).create

    allow ( FavoriteMailer )
      .to receive(:new_comment)
      .with(@user, @post, @comment)
      .and_return( double(deliver: true))

当我运行规范时,我会得到以下错误:

代码语言:javascript
代码运行次数:0
运行
复制
1) Comment after_create with users permission sends an email to users who have favorited the post
 Failure/Error: allow ( FavoriteMailer )
 NoMethodError:
   undefined method `to' for FavoriteMailer:Class
 # ./spec/models/comment_spec.rb:18:in `block (4 levels) in <top (required)>'

知道为什么会这样吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-09 12:10:15

只需在第一个括号之前删除空格,这样您就可以编写:

代码语言:javascript
代码运行次数:0
运行
复制
 allow( FavoriteMailer )

但看起来更好的是:

代码语言:javascript
代码运行次数:0
运行
复制
 allow(FavoriteMailer)

在您的例子中:allow (FavoriteMailer).to ..被解释为:allow((FavoriteMailer).to ..)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25744170

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档