2013-10-28 65 views
1

我遇到了一個我無法通過angularjs聯機幫助解決的問題。angularjs比較導航後的綁定值

我正在編寫angularjs/karma場景測試,我想驗證哪些部分是顯示錢包數量的視圖會在頁面導航後保留。錢包數量來自綁定值。

查看代碼:

<div class="label">Mon Compte<br>{{ User.getBalance() | currency }}</div> 

場景代碼:

var b1 = binding('User.getBalance() | currency'); 
browser().navigateTo('/another-route'); 
var b2 = binding('User.getBalance() | currency'); 
expect(b1).toEqual(b2); 

失敗的情況下結果:

expected {"name":"select binding 'User.getBalance() | currency'","fulfilled":true,"value":"4 353,90 €"} but was "4 353,90 €" 

我的理解是,它試圖比較文本值至極一個承諾不起作用,但我不知道要解決這個問題...

一些幫助將不勝感激;)

回答

0

答案取決於你實際上試圖測試。你是否試圖斷言你的VIEW中顯示的文本是有價值的,或者你是否試圖斷言MODEL保持不變?如果這是您感興趣的VIEW,您就會走上正軌。我的建議是使用Protractor而不是Karma。

看看文檔,讓我知道如果你仍然無法讓你的測試工作。

另一方面,如果它是你感興趣的MODEL,事情會變得更復雜一點。您將無法使用標準單元測試來模擬瀏覽器導航。你將不得不創建一個模擬服務,讓你模擬路由提供者或使用像ngMidwayTester這樣的第三方庫。看看here尋求更多幫助。