2015-01-04 7 views
0

내 레일 어플리케이션이 minitest를 사용 중입니다. 내 수업에서 상속 받아야 할 수업이 무엇인지는 분명하지 않습니다. 나는 ActionController : : TestCase를 생각하고 있었지만, 레일즈 컨트롤러에 연결되어 있지 않기 때문에 올바르게 보이지 않는다. 어떤 제안?최소 등급의 포도 테스트 - 상속 할 클래스는 무엇입니까?

편집 : 은 개별 api 끝 점이 테스트하는 데 아무 것도 포함하지 않기 때문에 사용할 수 없습니다.

+0

나는 "minitest"구글 30 초 걸렸과 대답은'MiniTest : 단위 : : TestCase에 있어야합니다 것 같습니다 '? – Adrian

+0

죄송합니다. 내가 너에게 경멸하는 소리가 들린다면 나는 그런 뜻이 아니었다. "api 엔드 포인트"란 무엇입니까? – Adrian

+0

Grape는 Ruby가 HTTP API를 생성하기위한 라이브러리입니다. 어느 정도 레일에 통합 할 수 있습니다. 테스트를 작성할 때는 HTTP 엔드 포인트에서 GET, POST를 사용해야합니다. ActionController :: TestCase는 컨트롤러와 액션을 호출하는 get 메소드를 제공하지만,이 경우 작동하지 않습니다. 내가 get/post 메서드와 다른 HTTP 헬퍼를 얻을 수 있도록 상속 할 대상을 찾고있다. – sunnyrjuneja

답변

3

특정 minitest 클래스를 상속하는 대신 Rack의 테스트 도우미를 포함 시켰습니다.

class V0::YourAPI < ActiveSupport::TestCase 
    include Rack::Test::Methods 

    def app 
    Rails.application 
    end 
end 
0

내가 예를 들어 ActionDispatch::IntegrationTest 클래스

을 사용하고 있습니다 :

class ApiRequestTest < ActionDispatch::IntegrationTest 
test "sample response" do 
    get "/api/v1/sample_request" 
    assert_equal response.success?, true 
    assert_equal response.code, 200 
end 
end