我想使用Karma测试一个函数:这是我的代码的结构:
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'
],
...好的。现在我想运行Karma,目前没有测试(在配置文件中我已经注释了测试),但是我有一个问题:
ui5bp is not defined相反,如果我直接修改sourceCode编写函数,我就没有问题了!
我使用对象分组函数来组织我的代码,我希望通过init测试来测试这些功能。
发布于 2015-09-03 12:44:48
我已经找到了解决问题的方法:我希望已经编写了测试函数,而没有修改它们。问题是,在加载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只从Karma测试中加载,当我想运行我的应用程序时,我不使用它。
https://stackoverflow.com/questions/32347728
复制相似问题