To powinno być proste, ale po prostu nie można było znaleźć przyczyny niepowodzenia testu. Wystąpił następujący błąd podczas uruchamiania programu rspec. Ale po komentowaniu metody "wyślij" wszystko działa dobrze.Uzyskaj błędną liczbę argumentów (2 za 0) podczas uruchamiania testu Rspec za pomocą polecenia get i delete
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'
routes.rb
resources :target_apps do
resources :messages do
member do
post 'send'
end
end
end
Kod modelu
class Message
include Mongoid::Document
belongs_to :target_app
end
kod kontrolera
class MessagesController < ApplicationController
def index
...
end
def show
...
end
...
def send
...
end
end
/spec/requests/message_spec.rb
describe "Messages" do
describe "GET /messages" do
let(:message) do
FactoryGirl.create(:message)
end
it "works! (now write some real specs)" do
# Run the generator again with the --webrat flag if you want to use webrat methods/matchers
get target_app_messages_path(message.target_app.id)
response.status.should be(200)
end
end
Dzięki, David. Zmiana akcji na inne prace nazw. – CCK
Inną nazwą, której należy unikać, jest "proces". – Mika