Jasmine을 사용하여 일부 모듈 JavaScript가 예상대로 시작되는지 테스트하려고합니다. 하지만 서클에서 돌고 있습니다.Jasmine을 사용하여 다른 모듈을 호출하는 모듈을 테스트하십시오.
// myObj.all.js
;(function() {
window.myObj = window.myObj || {};
myObj.all = {
init: function() {
myObj.page.init();
}
};
}());
// myObj.page.js
;(function() {
window.myObj = window.myObj || {};
myObj.page = {
init: function() {
console.log('hello');
}
};
}());
을 그리고 HTML에서 나는 부를 것이다 : :
는 간단한 예로서, 나는이 두 파일이
myObj.all.init();
모든 것을 초기화 할 수 있습니다. myObj.page
에 더 많은 모듈이 있으며, myObj.all.init()
에 대한 하나의 호출은 모두 초기화합니다.
myObj.all.init()
이 호출되면 myObj.page.init()
도 호출됩니다. 이런 일이 일어날 것이라고 생각했지만 테스트에 실패했습니다.
spyOn(myObj.page, 'init');
myObj.all.init({});
expect(myObj.page.init).toHaveBeenCalled();
어떻게 테스트해야합니까?