window.location.hrefを使用する関数の単体テストをいくつか持っています。実際に私のテストランナーページを実際にURLに移動させずにこの値を模擬することが可能かどうか疑問に思っています。Javascriptのwindow.location.hrefを参考にしてください。
window.location.href = "http://www.website.com?varName=foo";
expect(actions.paramToVar(test_Data)).toEqual("bar");
私はユニットテストフレームワークにジャスミンを使用しています。あなたはローカルコンテキストをシミュレートし、with
を使用する場合は、(window
を含む!)すべての変数が最初にコンテキストオブジェクトから見て、そうでない場合はされwindow
とwindow.location
オブジェクト
var localContext = {
"window":{
location:{
href: "http://www.website.com?varName=foo"
}
}
}
// simulated context
with(localContext){
console.log(window.location.href);
// http://www.website.com?varName=foo
}
//actual context
console.log(window.location.href);
// http://www.actual.page.url/...
の独自のバージョンを作成する必要が
私はとの内の関数を呼び出したいとき、私は同じ問題を抱えて。どうやってそれを解決するのですか? – wizztjh