2017-03-23 81 views
0

給定以下結構。使用Angular運行Karma單元測試時templateUrl路徑中斷

root 
---app 
-----components 

所有模板使用 '組件/ somemodule /一些-template.html' 的指令

我的節點服務器通常運行使用express.static從/應用程序的應用程序。一切正常。

問題:當使用咕嚕從根噶運行單元測試,並試圖將一個指令.. 404未找到:「組件/ somemodule /一些-template.html」

顯然是因爲引用應該是:'app/components/somemodule/some-template.html'

我不能在我的指令模板中更改它。有沒有辦法告訴Karma找到正確的路徑或讓Karma在應用程序級別運行,以便它可以解決路徑問題?

回答

0

我發現的最佳解決方案是將您的模板作爲JS加載到業務運行的瀏覽器中。有許多方法可以完成。

ng-html2js這樣的預處理程序是可以爲你做的,通過將所有模板轉換爲js進行測試。它還包含許多路徑配置選項,以便您不必修改代碼中的路徑。

否則,像ng-templates這樣的工具可以做同樣的事情,但可以用於您的生產代碼中,同樣可以調整路徑,以便您不會受限於相對的文件夾結構。

+0

我試過了,但它似乎沒有工作。你能提供一些例子嗎?看起來,當我放入一個指令時,它並沒有通過模板緩存來引用它。它基於物理上添加的js依賴關係進行引用。 –

+0

你嘗試了什麼,什麼不工作?你可能會考慮開始一個新的問題,關於你正在做的事情的具體細節不符合你的想法。 –

相關問題