2013-07-15 7 views
0

테스트를 자동화하기 위해 Jasmine, Karma 및 PhantomJS를 사용하고 있지만 문제가 발생합니다. Phantom이 내 JS를 올바르게 구문 분석하지 않는 것 같습니다.카르마 테스트에서 누락 된 기능

var App = function() { 
    return { 
    pageController : { 
     currentPage : { 
     on : function() {}, 
     toJSON : function() {}, 
     get : function() { 
      return dark; 
     } 
     } 
    }, 
    mainLayout : { 
     header : { 
     show : function() {}, 
     $el : {} 
     } 
    } 
    }; 
}; 

console.log("in test", App()); 

...으로 로그 아웃 :

PhantomJS 1.9 (Mac) LOG: [ 'in test', 
    { pageController: {}, 
    mainLayout: { header: [Object] } } ] 

app.pageController 여기 비워되어, 내 테스트가 실패합니다 예를 들어,이 모형을 사용하고 있습니다. 이 문제가 발생하는 이유는 무엇입니까? & 어떻게 고칠 수 있습니까?

이 문제는 함수 정의와 직접적으로 관련되어 보입니다. 예를 들어 :

console.log("this is a function:", function() { return 'wat'; }); 

이 오류는 크롬에서 발생

PhantomJS 1.9 (Mac) LOG: [ 'this is a function:', null ] 

를 얻을 수 있습니다. 그것은 재스민 스파이들도 만들었으므로 나는 그것이 카르마와 관련이 있다고 추측하고 있나?

답변

1

카르마의 기록은 모든 기능을 null으로보고합니다. (관련없는 이유로 테스트가 실패했습니다).

관련 문제