2015-09-02 88 views
0

我想用噶測試功能: 這是我的代碼的結構:噶不加載功能

WebContent 
| 
|___js 
| | 
| |__sourceCode.js 
| 
|___test-resources 
    | 
    |__myTest.js 

這是sourceCode.js的全部內容:

//ui5bp={}; 
ui5bp.sourceCode={ 
    doubleSum:function (a, b) { 
     return (a + b) * 2; 
    } 
} 

/* 
function doubleSum(a, b) { 
    return (a + b) * 2; 
}*/ 

和這是我的業力配置文件的提取:

... 
files: [ 
     'WebContent/js/sourceCode.js', 
     //'WebContent/test-resources/myTest.js' 
    ], 
... 

好的。現在我想運行噶,此刻沒有測試(在配置文件中我評論過測試),但我有一個問題:

ui5bp is not defined 

,而是如果我修改sourceCode直接寫入功能,我沒有問題!

我已經使用對象分組函數組織我的代碼,我想通過init測試來測試這些funcions。

+0

文件的路徑不會是「WebContent/js/sourceCode.js」嗎? – MarcoL

+0

是的,對不起。我錯寫了Q. 路徑已經正確。 這不是問題.. – padibro

+0

您看到哪些文件加載​​到瀏覽器的HTML頁面中?當您將瀏覽器指向「localhost:9876/base/WebContent/js/sourceCode.js」時,您會看到什麼? – MarcoL

回答

0

我已經找到了解決我的問題的方法:我想測試函數已經被寫入而不修改它們。 問題是,加載sourceCode.js文件,而無需通過我的框架(openui5)的初始化,我不是已經創建了ui5bp對象...

的解決方案是創建一個新的文件define.js僅此內容:

//define.js file 
var ui5bp={}; 

,並使用因緣配置文件與其他文件導入:

... 
files: [ 
     'WebContent/test-resources/define.js' 
     'WebContent/js/sourceCode.js', 
     //'WebContent/test-resources/myTest.js' 
    ], 
... 

define.js爲l只從Karma測試中提交,而當我想運行我的應用程序時,我沒有使用它。