2012-07-09 1 views
2

풍부한 인터페이스를 위해 많은 JS 코드를 가진 Rails 3 애플리케이션을 테스트 할 방법을 찾고 있었다. 나는 카피 바라와 함께 노력했지만 그게 효과가 없었기 때문에 이제는 재스민을 시험해보고 있습니다. 그러나 나는 그것에 대해 어떻게해야하는지 이해하기가 힘듭니다.Jasmine : 내 레일 사이트의 인터페이스를 테스트 해 본다.

내가 수집 한 것부터 Jasmine은 사이트의 JS 구성 요소를 테스트하는 데 적합하지만 인터페이스를 직접 테스트하려면 어떻게해야합니까? 다음과 같은 것이 필요합니다.

describe "Sign in" 
    Visit '/home' 
    When user clicks "Sign in" link 
    The sign in form should appear 

실제로 재스민을 사용하면 어떻게 될까요? 지금까지 내 테스트는 레일 재스민 보석에 의해 생성 된 결과 페이지에 포함되어 있으며 분명히 내 사이트의 DOM이 아닌 DOM을 통해 실행됩니다.

나는 이제 상록수를 사용하려고 노력하고 있지만 같은 결과가 나타납니다 (jQuery도 포함 할 수 없음).

아이디어가 있으십니까?

감사합니다.

답변

2

귀하의 질문에 대답하기 위해 - 아니, 재스민하지 않습니다 당신이 오이 통합 테스트처럼, 이러한 높은 수준에서 사이트와 테스트를 탐색 할 수하는 방법으로 본래 기능.

Jasmine은 기본적으로 js API를 테스트하도록 제작되었으므로 API의 일부인 경우 기본적으로 URL 경로 또는 URL을 테스트 할 수 있습니다.

예를 들어 Backbone 라우터가 사용자의 윈도우의 현재 위치에 어떻게 반응하는지 또는 한 위치에서 다음 위치로 이동하는 방법을 테스트 할 수 있습니다. 백본 라우터가 명시 적으로 URL 위치를 처리하기 때문입니다.

0
+0

정말 내 질문에 답하지 않습니다. 나는 그런 일을하기 위해 Javascript 프레임 워크를 요구하고있었습니다. 나는 이미 카피 바라 (Capybara)를 시험해 보았고, 내 사이트가 너무 많거나 또는 너무 많아서 (나도 모르겠다.) 나를 위해 일하지 않는다. 어쨌든 고마워. – Deleteman

0

jasminerice을 조명기와 함께 사용해 볼 수 있습니다. JS DOM 상호 작용을 테스트하려는 의도라면 조명기를 사용하는 것이 좋습니다. 그러나 서버 상호 작용을 테스트하는 것이 목표라면 cucumber과 같은 것으로 이해할 수 있습니다.

관련 문제