2015-05-29 10 views
1

爲我的項目收益率人緣運行單元測試:angularjs loadModules「應該有一個僞測試」

Browser (OS) XYZ section should have a dummy test for XYZ FAILED 
    minErr/<@../angular.js:63:12 
    loadModules/<@../angular.js:4141:15 
    [email protected]/angular.js:323:11 
    [email protected]/angular.js:4099:5 
    [email protected]/angular.js:4025:11 
    [email protected]/../vendor/angular-mocks/angular-mocks.js:2339:44 

XYZ.spec:

describe('XYZ section', function() { 
    beforeEach(module('blah.XYZ')); 
    it('should have a dummy test for XYZ', inject(function() { 
    expect(true).toBeTruthy(); 
    })); 
}); 

我注意到,一些國家還不能找到其他人可以...

回答

1

從angular.js(即使沒有縮小)的輸出是不可能調試... 因此angular.js必須改變,以獲得部分體面的調試輸出

angular.js

function loadModules(modulesToLoad) { 
    [...]; 
    try { 
    [...]; 
    } catch (e) { 
    [...]; 
    console.log(e);//<<<<<-------- this is needed in order to have 
        //<<<<<-------- any idea as to what is going on 
    throw $injectorMinErr([...]); 
    } 
    [...]; 
} 

在這種情況下,產生了:

LOG: '[$injector:unpr] Unknown provider: $stateProvider http://errors.angularjs.org/1.3.15/$injector/unpr?p0=%24stateProvider 
minErr/<@[... blah blah blah ...] 

害得我找angular.module("blah.XYZ", [...]);在兩個不同的文件。我曾以爲角將結合的依賴列表兩者並保持單個模塊引用,但角將簡單地讀取它遇到的第一個依賴列表並忽略第二次嘗試...