2014-12-30 2 views
1

로 번호가이 시험 작동하지 :.

it("getFooCount success", function() { 
    httpBackend.whenGET('/api/getFooCount').respond(1); 

    fooService.getFooCount(); 
    httpBackend.flush(); 
    expect(fooService.FooCount).toBe(1); 
}); 

이 실패 "로 널 예상 1" (fooService.fooCount이 API를하기 전에 null의 경우 get 메소드가 호출된다).

는하지만이 테스트에 통과 :

it("getFooCount success", function() { 
    httpBackend.whenGET('/api/getFooCount').respond("1"); 

    fooService.getFooCount(); 
    httpBackend.flush(); 
    expect(fooService.fooCount).toBe("1"); 
}); 

.respond()에 숫자를 제외하고 아무것도 (객체, 문자열, 배열, 등)으로 시험을 통과 할 수있을 것으로 보인다.

api는 정수를 반환합니다.이 함수를 어떻게 사용할 수 있는지, 그리고/또는 왜 실패했는지에 대한 조언은 무엇입니까?

+0

그것은 당신이 변화를 볼 $ 전화 범위에 소화해야 할 가능성이 그것의 방법을 스마트 것, 이상한 이유가있을 수 있습니다 숫자로 발행하다 –

답변

3

첫 번째 인수는 실제로 상태 코드이므로 응답을 위해 API를 살펴보십시오.

대신 응답 (200, 1)을 시도하십시오. 그것은 단지 왜

AngularJS와 당신이 첫 번째 매개 변수로 비 주의적 목적을 제공 할 때 주위