0

次のエラーが表示されます。


1) RegistrationsController has an registration page load up successfully
     Failure/Error: response.code.should == 200
       expected: 200
            got: "404" (using ==)
     # ./spec/controllers/registrations_controller_spec.rb:6:in `block (2 levels) in '

このコードから:


require 'spec_helper'

describe RegistrationsController do
  it "has an registration page load up successfully" do
    get :new
    response.code.should == 200
  end
end

ブラウザでページに正常にアクセスできます。

避けられない「コードをテストすべきではない」という発言を得る前に、カスタム登録ページをテストしようとしていますが、同じエラーが発生したため、/ register ページの制御ルートを確認すると思いました。これは私のサインインページです。

なぜ私が 200 ではなく 404 を取得しているのかについて考えてみませんか? デバッグのヒント?あなたが助けて感謝するために必要なものは何でも投稿できます。

4

1 に答える 1

1

デバイスルートにアクセスしているテストでこれが必要であることが判明しました。ルーターを使用していないか、rspecが使用していないか、そのようなものです...ここでdeets


require 'spec_helper'

describe RegistrationsController do
  it "has an registration page load up successfully" do
    @request.env["devise.mapping"] = Devise.mappings[:user] #assuming your using :user routes
    get :new
    response.code.should == 200
  end
end

他の場所に置くだけでは十分ではありませんが、自分のルートを揺るがすときは、そこに投げ入れてください。

于 2012-09-19T00:56:09.293 に答える