小编CCK*_*CCK的帖子

使用get和delete运行Rspec Test时,获取错误的参数数量(2表示0)

这应该是一个简单的,但却无法找出导致测试失败的原因.运行rspec时,我一直收到以下错误.但在评论"发送"方法后,一切正常.

  1) Messages GET /messages works! (now write some real specs)
     Failure/Error: get target_app_messages_path(@message.target_app.id)
     ArgumentError:
       wrong number of arguments (2 for 0)
     # ./app/controllers/messages_controller.rb:37:in `send'
Run Code Online (Sandbox Code Playgroud)

的routes.rb

resources :target_apps do 
  resources :messages do 
    member do
     post 'send'
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

型号代码

class Message
  include Mongoid::Document
  belongs_to :target_app
end
Run Code Online (Sandbox Code Playgroud)

控制器代码

class MessagesController < ApplicationController
  def index
    ...
  end
  def show
    ...
  end

  ...

  def send
    ...
  end
end
Run Code Online (Sandbox Code Playgroud)

/spec/requests/message_spec.rb

describe "Messages" do
  describe "GET /messages" do

  let(:message) do
    FactoryGirl.create(:message)
  end

  it "works! …
Run Code Online (Sandbox Code Playgroud)

ruby rspec ruby-on-rails rspec2 rspec-rails

9
推荐指数
1
解决办法
6366
查看次数

标签 统计

rspec ×1

rspec-rails ×1

rspec2 ×1

ruby ×1

ruby-on-rails ×1