Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 测试工厂定义时出错_Angularjs_Jasmine_Karma Runner_Karma Jasmine - Fatal编程技术网

Angularjs 测试工厂定义时出错

Angularjs 测试工厂定义时出错,angularjs,jasmine,karma-runner,karma-jasmine,Angularjs,Jasmine,Karma Runner,Karma Jasmine,我正在尝试测试是否定义了我的tickersFactory服务,我让Jasmine正常运行,但是上面的代码抛出以下错误: 票务工厂 您正在测试的工厂是\u TickersFactory\u,因此需要使用\u TickersFactory\u\u注入它。而不是\u TickersFactory\u 从图片上看有点难说,但你似乎得到了你能发布模块的最小定义+工厂声明吗?谢谢,刚刚发布了!哦,我也在使用webpack,所有东西都在bundle.js中。这有帮助吗?应该没关系。看到我的答案了。我很惊讶

我正在尝试测试是否定义了我的
tickersFactory
服务,我让Jasmine正常运行,但是上面的代码抛出以下错误:


票务工厂
您正在测试的工厂是
\u TickersFactory\u
,因此需要使用
\u TickersFactory\u
\u注入它。而不是
\u TickersFactory\u


从图片上看有点难说,但你似乎得到了

你能发布模块的最小定义+工厂声明吗?谢谢,刚刚发布了!哦,我也在使用webpack,所有东西都在bundle.js中。这有帮助吗?应该没关系。看到我的答案了。我很惊讶你没有为
\u tickerFactory\u
输入错误获得未知的提供程序。事实上,你是:屏幕截图上有$injector:unpr错误。@estus刚刚看到了它,小错误代码的好处是:)unprI重命名了它,仍然是相同的错误:(然而,$injector错误意味着我需要先注入
ApiFactory
?下一步尝试……您需要提供测试工厂所需的任何工厂/服务/等。模拟它们或加载它们所属的模块。
describe('Tickers Factory:', function() {
    var tickersFactory, tickerContainer, tickerType, chartIsReady;

    beforeEach(function() {
        module('tickersFactory');
    });

    beforeEach(inject(function(_tickersFactory_) {
        tickersFactory = _tickersFactory_;
    }));

    it('tickersFactory should be defined', function() {
        expect(tickersFactory).toBeDefined();
    });
});
    ////////////////////////////////////////////////////////////////////////////////
/**
* @name tickersFactory
* @namespace Factories
* @desc Stores the global ticker and ticker type
*/

var tickersFactory = angular
    .module('tickersFactory', [])
    .factory('TickersFactory', factory);

factory.$inject = [
    '$rootScope',
    'ApiFactory',
    'GetTickersFactory'
 ];

function factory(
    $rootScope,
    ApiFactory,
    GetTickersFactory) {

    /** Init TickersFactory scope */
    /** ----------------------------------------------------------------- */
    var tickerContainer = {},
        tickerType      = {},
        chartIsReady    = false;

    var tickersFactory = {
        returnChartReady : returnChartReady,
        storeTicker      : storeTicker,
        getTicker        : getTicker,
        storeTickerType  : storeTickerType,
        getTickerType    : getTickerType,
        initTickersPanel : initTickersPanel
    };

    return tickersFactory;
    ////////////////////////////////////////////////////////////////////////

    function returnChartReady() {
        return chartIsReady;
    }