2012-08-01 4 views
2

간단히 말해, 결국, URL에서 쿼리 문자열을 가져 와서 내 쿠키에 추가하고 싶습니다.jasmine : URL에 검색어 문자열을 추가하고 읽는 중입니까?

나는 쿠키 세트를 얻는 법을 알고 있으며 바닐라 JS를 사용하고 있습니다.

그러나 재스민을 사용하여 모든 잘못된 사례를 테스트하고 행복한 경로 만 테스트하지 않습니다.

어쨌든, 한 세트 재스민의 URL, 내가 document.location.search를 사용하여 내 테스트에서 사용하고 거기에서 활용할 수 있도록 모든 쿼리 문자열 (같은 http://www.blah.com?ref=yayayadaydayday를 통과 할 수 있도록?

을 난을 수행하는 방법 그것은 당신이 재스민에 조롱 때 호출되는, 그러나 이것은 레일이 있다면, 내가 좋아하는 쿼리 문자열을 추가 할 것 어떤 추측 :.


    test "can get some results" do 
    get :show, :q => shops(:one).name #how do i add this 'q' string in jasmine?! 
    refute_nil assigns(:search) 
    end 

답변

2

문제 것은 this에서는 모의 window.location 질수 있다는 것입니다 및 this 그래서 그들은 와서 당신이 그것을 조롱 할 수 있도록 당신의 세계적인 맥락을 전달하는 것.

+1

감사합니다.이 두 링크는 ​​시도 할 여러 솔루션과 함께 잘 어울립니다. 재스민 보드에서 읽었습니다. 어쨌든 그것을 할 수 없습니다. 왜냐하면 그것은 단지 자바 스크립트이기 때문입니다. 내가 사용해야하는 '실제'테스트 프레임 워크가 아닌가 생각합니다.하지만 그건 내 추측에 불과합니다. 감사. – pjammer

1

최근 URL 해시가 설정된 경우 탭을 선택하는 탭 집합에 대한 코드를 테스트하여 비슷한 것을해야했습니다. 나는 URL 조작 할 역사 API를 사용 :

loadFixtures('tabs-fixtures.html'); 
window.history.replaceState(null, null, '#three'); 

및 코드는 실제로 URL에서 해시 값을 읽어 않습니다.

내 테스트 설정에는 PhantomJS가 사용됩니다. 이전 IE 실행기가 없으면 다른 브라우저가 작동한다고 생각합니다.

관련 문제