Я пытаюсь проверить функцию, аналогичную той, ниже с помощью ЖасминЧастные методы, вызывающие испытания жасмин на провал
closure.respond = function (value){
if(value)
{
thisIsAPrivateMethod();
}
thisIsAPublicMethod();
}
Мой тест выглядит так
it('will display the calendar widget when value is true', function(){
value=true
closure.respond(value);
expect(closure.thisIsAPublicMethod).toHaveBeenCalled();
)
})
Всякий раз, когда я запускаю тест I получить исключение в тестовом бегуне жасмина, который утверждает, что метод, который вызывается внутри частной функции, не существует. (Объект # не имеет метода 'methodName' )
Я не занимаюсь внутренней обработкой частной функции, как я могу просто игнорировать этот вызов?
Могу ли я игнорировать его? Очевидно, я не могу/не должен шпионить за ним, поскольку он является частным. Любое направление будет принята с благодарностью.
Благодаря
Согласен. Моя проблема заключается в том, что при тестировании clos.respond внутри он вызывает частный метод, который затем выдает ошибку из-за того, что у него есть зависимость, которая не была объявлена. Как далеко от стека вызовов мне нужно идти? – autofunk
Не уверен, что я понимаю проблему, но почему у вас есть необъявленная зависимость. Вы должны высмеивать/заглушать зависимость и вводить ее в свое закрытие. Или если его глобальный просто издевается над этим как «jasmine.spy (window,« dependency ») иReturn (someMockImplenetaion)' –
Проблема заключалась в том, что я пытался не заниматься реализацией в частной функции, для того чтобы получить эту работу теста, мне нужно знать, что делает частная функция, когда она выполняется во время теста, моя озабоченность связана с количеством зависимостей, которые кажутся кажущимися дальше по цепочке звонков. Я доберусь туда в конце концов. Спасибо за понимание. – autofunk