我終於得到了我的AngularJS測試環境設置,並試圖測試出我的應用程序中的頁面是否正常工作。這包括模板,路由,請求,指令等。AngularJS單元測試不依賴於請求數據的模擬
從我發現的情況來看,當測試一個正在運行的應用程序時,事實證明,mock需要完成大部分工作。雖然這很好,但我仍然想從我的應用程序中測試實際的模板和數據。
每當一個GET調用我的應用程序內進行的,我得到的,看起來像一個錯誤:
Unexpected request: GET application/templates/home.html
No more request expected
Error: Unexpected request: GET application/templates/home.html
事實證明,它無法正常下載請求。這很好。從我認爲正在進行的測試運行器(testacular)無法下載模板文件,因爲它在一個不同的環境中(沒有提供HTTP地址)。我遇到的唯一解決方法是使用$ httpBackend服務以模擬方式存儲請求。雖然這對於某些情況很有用,但我想獲取實際數據。
關於如何解決這個問題的任何想法?
我已經看過這兩個測試,並且贊同Angular的單元測試和e2e測試有明顯區別的方法。但是,即使他們的XHR請求確實查詢了實際的網站,我也想進一步測試控制器和服務。有沒有什麼辦法可以避免使用mock?感謝您的真棒回覆btw :) – matsko
再次看看這個,我懷疑它與$ http是異步的並且測試是同步的。也許如果你嘗試寫異步測試會有幫助?你能給你的問題添加一些示例代碼嗎?謝謝。 –