【发布时间】:2015-06-13 14:07:31
【问题描述】:
这是我的 temp.js
angular.module('temp', [])
.service('tempFactory', function() {
this.a =10;
});
这是我的 temp.Spec.js
describe('temp', function() {
var tempFactory;
beforeEach(function() {
var mockedTempFactory = {};
module('temp', function($provide) {
$provide.value('tempFactory', mockedTempFactory);
});
mockedTempFactory.a = 20;
inject(function(_tempFactory_) {
tempFactory = _tempFactory_;
});
});
it('console.log of a property', function() {
console.log(tempFactory.a);
});
});
在控制台中我得到 20 的值。
但如果我这样定义 tempFactory:
angular.module('temp', [])
.constant('tempFactory', {
a: 10;
});
在控制台中我得到 10 的值。
为什么我不能重新定义最初定义为常量的 tempFactory,但可以重新定义最初定义为服务、值或工厂的 tempFactory?
【问题讨论】:
标签: angularjs unit-testing jasmine karma-runner sinon