我为学校写了一个yathzee游戏,现在我需要对我的计算进行单元测试。 我尝试注入我的服务,但它未定义。尝试了很多东西,真的不知道如何设置它。我很高兴因业开始工作。 所以这是我的测试文件
describe('Users factory', function() {
beforeEach(module('yathzeeCalculateService'));
var myservice;
beforeEach(inject('yathzeeCalculateService', function(yathzeeCalculateService){
myservice = yathzeeCalculateService;
}));
describe('Test chance', function() {
it('should be defined', function(){
expect(myservice).toBeTruthy();
});
it('good count', function(){
var dices = [1,1,1,1,1];
expect(myservice.sum(dices)).toEqual(5);
});
});
});
这是我的服务
(function () {
angular.module('myApp').factory('yathzeeCalculateService', yathzeeCalculateService);
yathzeeCalculateService.$inject = ['_'];
function yathzeeCalculateService(_) {
...
return {
sum : sum,
getStraight : getStraight,
isSmallStraight : isSmallStraight,
isLargeStraight : isLargeStraight,
getSameCount : getSameCount,
manyOfAKind : manyOfAKind,
getAmountOfArrayNumber : getAmountOfArrayNumber,
threeOfAKind : threeOfAKind,
fourOfAKind : fourOfAKind,
yahtzee : yahtzee,
fullHouse : fullHouse
};
}
})();
我对数组函数使用下划线,是否必须在测试中注入?如果,怎么样?
答案 0 :(得分:0)
模块名称错误,模块名称应该是正确的
模块名称无效
beforeEach(module('yathzeeCalculateService'));
你必须使用
beforeEach(module('myApp'));