Javascript 如何在karma测试中设置Tealium角度配置

Javascript 如何在karma测试中设置Tealium角度配置,javascript,angularjs,karma-jasmine,tealium,Javascript,Angularjs,Karma Jasmine,Tealium,此处有一个标记库: 我们将其集成到应用程序中。在应用程序初始化期间,我们需要为此库提供一些配置。这是这样做的: 我们的app.js: angular.module('appname', [ 'TealiumHelper' ]) .config(function (tealiumProvider) { tealiumProvider.setConfig({ account: 'accountxx', profi

此处有一个标记库:

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

我们的app.js:

angular.module('appname', [ 'TealiumHelper' ])
.config(function (tealiumProvider) {
            tealiumProvider.setConfig({
                account: 'accountxx',
                profile: 'profilexx',
                environment: 'dev'
            });
        })
有一个类似的业力测试:

(function () {
    'use strict';

    describe('controllertest', function () {
        beforeEach(module('appname','TealiumHelper'));
        it('bla', function () {
            //test code
        }
    }
}
当我开始测试时,我发现以下错误来自:

“未设置帐户或配置文件值。请先配置Tealium”


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

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

describe('controllertest', function () {

    beforeEach(module('appname'))

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

    /*** test starts here ***/
})
解决方案是(我的同事Andrea Fűrész实际上解决了这个问题):

她创建了一个包含以下内容的js文件:

function TealiumConfig() {
    'use strict';

    module('TealiumHelper', function (tealiumProvider) {
        tealiumProvider.setConfig({
            account: 'foooooo',
            profile: 'baaaar',
            environment: 'dev'
        })
    });
}

然后在karma配置中,它被添加到“文件”配置中。然后它成功了。

谢谢你的回答。我明天会试试。@GaborLiptak-你是否按照我建议的方式改进了你的测试?我没有忘记,只是没有时间。我稍后再回来,我们选择了另一种解决方案。谢谢你的回复+1。