2015-10-05 78 views
0

我有一個JavaScript文件,它使用location.search作爲一些邏輯。我想用Karma來測試它。當我簡單地設置位置(測試中的window.location.search = 'param=value')時,Karma抱怨我正在完成整頁重新加載。如何將搜索參數傳遞給我的測試?將location.search參數傳遞給Jasmine(Karma)測試

+0

我最終通過模仿Angular的'$ location'服務來解決這個問題 – Jorn

回答

0

沒有看到一些代碼,知道你真正想要什麼是有點棘手的,但它聽起來像你想要某種夾具/模擬功能添加到您的測試。如果你看到另一個類似的問題的答案,你會看到它告訴你保持測試爲「單元」。

Similar post with Answer

這意味着,我們是不是真正關心測試的Window對象,我們假設Chrome或Firefox廠商會這麼做就好了我們。在您的測試中,您將能夠檢查並回應您的模擬對象,並根據您的邏輯進行調查。 當在實時代碼中運行時 - 如圖所示 - 實際移交位置的最後一步由瀏覽器處理。

換句話說,你只是檢查你的位置設置邏輯,沒有其他功能。我希望這可以爲你工作。

相關問題