정말 내 단위 테스트를 시작하고 싶습니다, 그래서 나는 몇 가지 플러그인을 내가 QUnit을 사용하여 작성한 테스트를 추가하기 시작할 생각. 그러나, 나는 특성과 방법을 함께 그룹화하기 위해 내 플러그인 내에 맞춤 클래스/오브젝트를 만들고 싶다. 그 위에는 고유 한 개인 방법이 있습니다.단위 테스트 개인 함수 내에서 jQuery 플러그인
단위 테스트를 허용하도록 내 코드를 리팩토링하는 가장 좋은 방법을 고민하고 있습니다. 모든 것을 공개하거나 여러 개의 사용자 지정 개체로 창 개체를 오염시키는 아이디어가 마음에 들지 않습니다. 하지만 어쩌면 그 일이 어떻게 이루어져야할까요?
아마도 나는 워크 플로우에 관해서 더 좋은 아이디어가 필요합니다. 어쩌면 개발 용 스크립트가 모두 공개 되듯이, 내가 Grunt를 사용하여 축소하면 익명의 기능으로 다시 되돌려 놓을 수 있습니까?
어쨌든, 필자는이 내용을 필자가 플러그인 구조에 관해서 말한 것에 대한 조잡한 예라고 신속하게 썼다. 어떻게하면 'getNewPosition'메소드를 테스트 할 단위 테스트를 작성합니까?
(function($) {
"use strict";
// Custom Object
var MyClass = function(element) {
var speed = 1;
// Private Function
var getNewPosition = function() {
var currentPosition = parseFloat(element.css("top"));
return currentPosition + speed;
}
return {
// Public Function
update: function() {
var newPosition = getNewPosition();
element.css("top", newPosition.toString() + "px");
}
}
};
// jQuery Plugin
$.fn.myPlugin = function() {
var aryElements = [];
this.each(function() {
var myObj = new MyClass($(this));
aryElements.push (myObj);
});
$(window).on("scroll", function(event) {
$.each(aryElements, function(i, element) {
element.update();
});
});
return this;
};
}(jQuery));
모든 도움을 주시면 감사하겠습니다. 감사!