javascript - 如何在 karma 测试中设置 Tealium-Angular 配置

标签 javascript angularjs karma-jasmine tealium

这里有一个标签库:https://github.com/Tealium/integration-angularjs/blob/master/tealium_angular.js

我们将其集成到我们的应用程序中。在应用程序初始化期间,我们需要为此库提供一些配置。这样做是这样的:

我们的app.js:

angular.module('appname', [ 'TealiumHelper' ])
.config(function (tealiumProvider) {
            tealiumProvider.setConfig({
                account: 'accountxx',
                profile: 'profilexx',
                environment: 'dev'
            });
        })

有一个与此类似的 karma 测试:

(function () {
    'use strict';

    describe('controllertest', function () {
        beforeEach(module('appname','TealiumHelper'));
        it('bla', function () {
            //test code
        }
    }
}

当我开始测试时,我收到来自 tealium_angular.js 的以下错误:

“帐​​户或个人资料值未设置。请先配置 Tealium”

如何在 karma 测试中设置这些配置值?

最佳答案

在测试中,您可以为 TealiumHelper 模块提供自己的实现,例如

describe('controllertest', function () {

    beforeEach(module('appname'))

    angular.module('TealiumHelper', []).provider('tealium', {
        $get: function () {},
        setConfig: function () {}
    });

    /*** test starts here ***/
})

关于javascript - 如何在 karma 测试中设置 Tealium-Angular 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41960477/

相关文章:

angular - 无法绑定(bind)到 'matMenuTriggerFor',因为它不是 'button' 的已知属性

angular - 如何在 Jasmine 测试中获取事件发射器的参数

javascript - Angular JS 新手 - 不工作

angularjs - 如何在带有FCM的angularJs Web应用程序中接收推送通知?

包含多个问题的 JavaScript 测验

java - 如何在 JavaScript 中迭代支持 bean 字符串列表

angularjs - 将 Jasmine 与 AngularJS 一起使用时出错

javascript - 如何测试当前是否正在播放声音?

javascript - Html5 Canvas 字体粗细比应有的重得多

javascript - 这个 JavaScript 函数如何缓存它的结果?