首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Karma不加载函数

Karma不加载函数
EN

Stack Overflow用户
提问于 2015-09-02 08:03:52
回答 1查看 60关注 0票数 0

我想使用Karma测试一个函数:这是我的代码的结构:

代码语言:javascript
复制
WebContent
|
|___js
|   |
|   |__sourceCode.js
|
|___test-resources
    |
    |__myTest.js

这是sourceCode.js的全部内容:

代码语言:javascript
复制
//ui5bp={};
ui5bp.sourceCode={
    doubleSum:function (a, b) {
        return (a + b) * 2;
    }
}

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

这是我的业力配置文件的摘录:

代码语言:javascript
复制
...
files: [
      'WebContent/js/sourceCode.js',
      //'WebContent/test-resources/myTest.js'
    ],
...

好的。现在我想运行Karma,目前没有测试(在配置文件中我已经注释了测试),但是我有一个问题:

代码语言:javascript
复制
ui5bp is not defined

相反,如果我直接修改sourceCode编写函数,我就没有问题了!

我使用对象分组函数来组织我的代码,我希望通过init测试来测试这些功能。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-03 12:44:48

我已经找到了解决问题的方法:我希望已经编写了测试函数,而没有修改它们。问题是,在加载sourceCode.js文件时没有通过对框架(openui5)的初始化,我还没有创建ui5bp对象.

解决方案是创建一个仅包含以下内容的新文件define.js

代码语言:javascript
复制
//define.js file
var ui5bp={};

并使用业力配置文件将其与其他文件一起导入:

代码语言:javascript
复制
...
files: [
      'WebContent/test-resources/define.js'
      'WebContent/js/sourceCode.js',
      //'WebContent/test-resources/myTest.js'
    ],
...

define.js只从Karma测试中加载,当我想运行我的应用程序时,我不使用它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32347728

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档