2

簡単に言えば、最後に、URLからクエリ文字列を取得してCookieに追加したいと思います。

私はクッキーセットを取得する方法を知っており、それにバニラJSを使用しています。

しかし、私はジャスミンを使用して、幸せな道だけでなく、すべての間違ったケースをテストしたいと思います。

とにかく、JasmineでURLを設定して、任意のクエリ文字列を渡すことができるようにするにはどうすればよいですか(たとえば、http://www.blah.com?ref=yayayadaydaydayを使用してテストで使用しdocument.location.search、そこから取得できますか?

ジャスミンをモックするときに何と呼ばれるかは推測できますが、これがRailsの場合は、次のようなクエリ文字列を追加します。


  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
4

2 に答える 2

3

問題は、モックできないことですwindow.location。これとこのSOで彼らはあなたがそれをモックできるようにあなたの関数でグローバルコンテキストを渡すことを思いついた。

于 2012-08-02T20:24:21.940 に答える
2

私は最近、URLハッシュが設定されている場合にタブを選択する一連のタブのコードをテストして、同様のことを行う必要がありました。履歴APIを使用してURLを操作しました。

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

コードは実際にURLからハッシュ値を読み取ります。

私のテストセットアップはPhantomJSを使用しています。古いIEランチャーがない限り、他のブラウザーでも機能すると思います。

于 2015-12-01T12:51:18.180 に答える