ruby-on-rails – Nil不是Rspec的象征

ruby-on-rails – Nil不是Rspec的象征,第1张

概述当我在我的localhost上以开发模式运行时.一切正常,我可以轻松删除我的帖子.但我的要求规格失败了. 当我运行测试时,我收到此错误: 1) Posts when logged in should delete posts Failure/Error: expect{click_on "Usuń spot"}.to change(Post.count).by(1) TypeE 当我在我的localhost上以开发模式运行时.一切正常,我可以轻松删除我的帖子.但我的要求规格失败了.

当我运行测试时,我收到此错误:

1) posts when logged in should delete posts     Failure/Error: expect{click_on "Usuń spot"}.to change(Post.count).by(1)     TypeError:       nil is not a symbol

posts_spec.rb

describe "when logged in" do    let(:user) {FactoryGirl.create(:user)}    let!(:post) {user.posts.create(content: "Brilliant! I just saw the most amazing ever. She looked so cute!")}    content = "Example of spot post,for TDD. It's not real spot. Not yet."    before(:each) {      log_user(user)    }    it "should delete posts" do      visit user_post_path(user,post)      expect{click_on "Usuń spot"}.to change(Post.count).by(1)    end

show.haml

[email protected]=link_to "Usuń spot",[@user,@post],method: :delete

posts_controller.rb

def show    @user = current_user    @post = @user.posts.find(params[:ID])  end  def destroy    @user = current_user    @post = @user.posts.find_by_ID(params[:ID])    @post.destroy    flash[:success] = "Post destroyed"    redirect_to root_url  end
解决方法 更改需要一个块,因此可以对其进行两次评估以验证值的更改.

这应该工作:

expect{click_on "Usuń spot"}.to change{Post.count}.by(1)
总结

以上是内存溢出为你收集整理的ruby-on-rails – Nil不是Rspec的象征全部内容,希望文章能够帮你解决ruby-on-rails – Nil不是Rspec的象征所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1260064.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存