2016-08-01 4 views
0

Devise 4.1.1 등록 컨트롤러 테스트를 설정하는 방법을 찾고 있었지만, 권장 사항은 아니지만 내 애플리케이션의 경우 등록 컨트롤러가 사용자 정의되었습니다. 특히 우리의 필요와 관련이 있습니다. 사용자 테이블에는 가입 프로세스 중에 저장되는 몇 개의 새로운 열만 있으므로 테스트 환경에 영향을 미치지 않는다고 가정합니다.테스트 :: 유닛 테스트 for Devise 사용자 :: RegistrationController

또한 이것을 달성하기 위해 통합 테스트를 수행 할 수 있다는 것을 알고 있지만 지금은 단위 테스트에서이를 수행하려고합니다.

내가

ENV['RAILS_ENV'] ||= 'test' 
require File.expand_path('../../config/environment', __FILE__) 
require 'rails/test_help' 

class ActiveSupport::TestCase 
    # Setup all fixtures in test/fixtures/*.yml for all tests in alphabetical order. 
    fixtures :all 

    # Add more helper methods to be used by all tests here... 
end 

#This is what I added: 
class ActionController::TestCase 
    include Devise::TestHelpers 
end 

내가 폴더 컨트롤러/사용자에 registrations_controller.rb라는 새로운 파일을 생성 고안

에 의해 권고로 이미하지 않았기 때문에/설치 test_helper.rb에서이 섹션이 존재하고,이

$ rake test 
(in /home/www/dev) 
Run options: --seed 163 

# Running: 



Finished in 0.010214s, 0.0000 runs/s, 0.0000 assertions/s. 

0 runs, 0 assertions, 0 failures, 0 errors, 0 skips 
:

require 'test_helper' 

class Users::RegistrationsControllerTest < ActionController::TestCase 
    setup do 
    @request.env["devise.mapping"] = Devise.mappings[:user] 
    end 
    test "sign_up view" do 
    get :new 
    assert_response :success 
    flunk("test flunk") 
    end 

end 

rake test이 실행되는 출력 : 내용입니다

내가 무엇을 놓치고 있습니까?

내가 바보 당하고

답변

0

, 당신은 실행할 수 없습니다 :

rake test 

당신이

rake test test/controllers/users/registrations_controller.rb 

가 컨트롤러에 대한 경로로 '테스트/컨트롤러/사용자/registrations_controller.rb'를 대체 실행해야 파일