EDIT: (добавить тестовый код)
Привет, у меня есть эта фабрика, у которой нет никакого определения функции. Я не знаю, как я могу написать для нее единичный тест (я вижу много примеров, но до сих пор не могу найти способ сделать это, если у вас есть предложения или помощь Я буду очень благодарен) Моя фабрика:
MyApp.factory('params', ['$rootScope', function ($rootScope) {
// supported languages
var params = {
layout: {
pageAutoScrollOnLoad: 2000
pageSidebarClosed: false,
pageBodySolid: false,
},
layoutImgPath: Metronic.getAssetsPath() + 'app/img/',
layoutCssPath: Metronic.getAssetsPath() + 'app/css/'
};
$rootScope.params = params;
return params;
}]);
Как и в ответе, предложенном @MoLow, я стараюсь делать то же самое.
describe('params', function () {
var params;
beforeEach(module('params'));
beforeEach(inject(function (_params_) {
params = _params_;
}));
it('Should ', function () {
expect(params).to.be.a('Object');
});
});
Но у меня есть эта ошибка:
TypeError: undefined не является объектом
Это означает, что параметры не определены. Я не знаю, почему. Мне нужна помощь для решения этой проблемы
describe('params', function () {
var params;
beforeEach(module('params'));
beforeEach(inject(function (_params_) {
params = _params_;
}));
it('Should ', function () {
expect(params).to.be.a('Object');
});
});
Не забывайте включать все ваши зависимости (Metronic) при загрузке тестов в файл karma.conf.js, если вы используете карму.
ReferenceError: Can't find variable: Metronic
и я получаю эту ошибку:ReferenceError: Can't find variable: Metronic