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;
}