2

Capybara로 Rails 3.1 애플리케이션에서 간단한 요청 스펙을 수행하고 싶습니다. 표준의 경우 모든 예상대로 작동하지만 내가 자산 파이프 라인에 의해 생성 된 CSS를 테스트 할 때, 나는 다음과 같은 오류가 나타납니다 나는 문제가 테스트 환경은 완전한 서버를 제공하지 않는다는 것입니다 생각Capybara로 자산 파이프 라인 테스트하기

Failure/Error: visit '/assets/main.css' 
ActionController::RoutingError: 
    No route matches [GET] "/assets/main.css" 

및 그래서 자산을 전달하는 스프로킷 미들웨어도 없습니다. 이 문제의 해결책이 있습니까?

편집 : 이제 가능합니다! Rails 3.2.12 및 Capybara 2.0.2로 업데이트되었습니다. 이제 자산은 기능 사양에서도 사용할 수 있습니다.

+0

나는 그렇게 생각하지 않는다. 내가 아는 한 특정 테스트 포트에 새 서버를 생성합니다 (config Capybara.server_port 참조). – phoet

답변

4

Phusion의 사람은 render an asset to a string에 가능성에 대해 블로그 :

MyApp::Application.assets.find_asset('main.css').body 

또한 테스트에서 이것을 사용할 수 있습니다. 이 솔루션은 이상적이지는 않지만/카피 바라가 더 이상 관여하지 않았기 때문에 특정 케이스에서 CSS를 검증하는 데 도움이됩니다. 더 나은 접근 방식을 환영합니다!

관련 문제