나는 Rack 응용 프로그램을 생성 할 Ruby 명령 줄 응용 프로그램을 만들고 있습니다. 만들어진 Rack 응용 프로그램이 유효한 Rack 응용 프로그램인지 테스트하고 싶습니다. 나는 Aruba와 Cucumber를 사용하여 CLI가 올바른 파일과 디렉토리 구조를 만들었는지 테스트하기 시작했지만 이제는 rackup
을 실행할 준비가되었고 응용 프로그램이 올바르게 실행되는지 확인합니다. Cucumber와 Capybara가이 새로 생성 된 응용 프로그램과 상호 작용하도록하려면 어떻게해야합니까? @startup_output = "foo"
일종의을 생성합니다오이를 사용하여 랙 애플리케이션 생성을 테스트하는 방법은 무엇입니까?
0
A
답변
0
랙 응용 프로그램의 루트 페이지를 생성 한 다음 루트 경로를하고 랙 시작시 해당 페이지
def response
if request.path "/"
Rack::Response.new(render("index.html.erb"))
else
Rack::Response.new("Not Found", 404)
end
end
에 출력의 어떤 종류를 확인하기 위해하다고 생각 어떤 경로 카피 바라의 방문이 루트 페이지에 출력 <%= @startup_output %>
카피 바라 :
visit('/')
page.should have_content('foo')
당신이 태어나 셨 경우 카피 바라가 응용 프로그램을 시작 테스트 내부 레이크 작업을 사용하려고 가지고 D :
system "rake rack:start"
덕분에, 그 시작이다,하지만 난 이미 랙 응용 프로그램을 가지고, 나는 이미 아루바을 통해'rackup' 전화 해요 . 이것이 카피 바라의 기본 동작과 다른 점이라고 생각합니다. 따라서이 새로 만들어진 Rack 응용 프로그램을 어디에서 찾을 수 있는지 알 수 없습니다. Capybara에게'config.ru' 파일을 적재 시키거나 실행중인 포트를 지정해야한다고 생각하지만, 어떻게해야할지 모르겠습니다. – Andrew
구성 정보 (포트 번호, 경로 등)로 YAML 파일을 만들고 그 데이터에 capybara를로드 할 수 없습니까? 그런 다음 capybara 테스트에서 여전히'visit ("# {CONFIG.root_url}")'을 사용할 수 있습니다. YAML에서 railscast (http://railscasts.com/episodes/85-yaml-configuration-revised)를 확인하는 것이 좋습니다. 몇 가지 아이디어를 줄 수 있습니다. 행운을 빕니다 – Davey