Я начинаю с кармы и жасмина для модульного тестирования. Я с моим первым настоящим испытанием, и я хочу знать, хорошо ли я делаю.Жасмин - проверьте простую функцию инициализации
У меня есть этот метод, который вызывает три функции инициализации.
myApp.initializer.initializeApp = function() {
myApp.initializer.eventDelegation();
myApp.initializer.initializeGlobals();
myApp.scrollManager.initialize();
};
Если я не тест, карма-покрытие не говорит мне, что initializeApp не распространяется, так что я хочу сделать тест, чтобы проверить, все ли правильно. Какой тест необходим? если я напишу эти два разных теста, Karma-coverage говорит мне, что функция теперь покрыта.
describe ("Initializations suite", function(){
it ("must check if functions are defined before call them", function(){
spyOn(myApp.initializer, "eventDelegation");
myApp.initializer.initializeApp();
expect(myApp.initializer.eventDelegation).toHaveBeenCalled();
});
});
или
describe ("Initializations suite", function(){
it ("must check if functions are defined before call them", function(){
expect(myApp.initializer.initializeApp).not.toThrow();
});
});
Оба теста делают initializeApp, как покрыты, но, как я уже сказал, я не знаю, что это правильный способ проверить это.
спасибо.
Спасибо за ваш комментарий Siddath ajmera. Что я понимаю в вашем ответе, так это правильно, чтобы иметь оба теста из-за покрытия большего количества поведения, и в первом тесте просто удалите spyOn? – Ijuhash
есть. Просто постарайтесь охватить все больше и больше поведения. –