我在我的角度控制器的功能,看起來像下面這樣:角JS - 測試一個功能與頁面重定向使用噶/茉莉花
$scope.myFunction = function(){
$scope.myVariable = "something";
$scope.myOtherVariable = "something else";
window.location.href = "/path/to/page";
}
一個簡單的茉莉花測試涵蓋了上述功能,看起來像:
describe('my test', function(){
it('should pass', function(){
scope.myFunction();
expect(scope.myVariable).toBe('something');
expect(scope.myOtherVariable).toBe('something else');
});
});
上述測試本身通過,但隨後噶拋出在控制檯以下錯誤:
一些你的測試做了整頁重新加載!
頁面重定向導致Karma引發此警告。解決這個問題的最好方法是什麼?
我想到了在茉莉花測試和角度的名字給匿名函數,然後使用原始函數內部arguements.callee.caller.name以確定是否該函數是由自身或茉莉花調用。不幸的是,arguments.callee.caller.name總是返回undefined,我懷疑是由Angular和Jasmine相互鏈接引起的。
這個問題實際上並沒有出現在我的代碼中,但它確實給了我點燃我自己修復程序的火花,所以感謝您發佈它!如果你好奇,我自己解決的問題是由於你的問題是http://stackoverflow.com/questions/31947852/how-to-test-angular-app-with-john-papa-style-karma-和茉莉花與數據-Servi大街。謝謝,C§ – CSS