2013-07-15 3 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 ] 

ошибка также происходит в Chrome. Он тоже сквозит созданных шпионов жасмина, поэтому я предполагаю, что это связано с кармой?

ответ

1

Ведение журнала Karma сообщает о всех функциях null. (Испытания терпели неудачу по несвязанным причинам).

Смежные вопросы