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_; }));''' –