4
我有一个session.factory.js
工厂:AngularJS:如何测试工厂
(function() {
'use strict';
angular
.module('app')
.factory('Session', Session);
function Session() {
var sessionId;
return {
create: create,
destroy: destroy,
isAuthenticated: isAuthenticated
};
function create(id) {
sessionId = id
}
function destroy() {
sessionId = null;
}
function isAuthenticated() {
return !!sessionId;
}
}
})();
我想测试它,所以我做了一个session.factory.spec.js
:
describe('Session', function() {
var Session;
beforeEach(function(){
module('app');
inject(function(_Session_){
Session = _Session_;
});
});
});
但Session
是undefined
一些原因。我错过了什么?
还未定义=/ –
我做了另一次编辑。 'inject'是一样的。它返回一个函数。因此,不需要在'beforeEach'内部的另一个函数中进行换行。 –
好了,现在它的工作,只是一个编辑: '''beforeEach(注(函数(_session _){ 会话= _Session_; }));''' –