2016-08-27 2 views
0

학교용 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

모듈의 이름은 모듈 이름이 적절해야한다 잘못

잘못된 모듈 이름

beforeEach(module('yathzeeCalculateService')); 

당신은

beforeEach(module('myApp')); 
+0

,하지만 지금은 "인수 '를 가지고 있음을 했 사용해야합니다 fn '은 함수가 아니며 문자열을 가지고 있습니다. " 과거에이 오류가 발생했을 때 ''잘못 배치되어 코드가 작동하지 않았지만 이제는 내 앱이 제대로 실행되지만 테스트는 ... – user1008531