은 브라우저에서 파일 선택 도구을 전세계로 조롱하는 방법에 관심이 있습니다. 특히, 나는 에서 파이어 폭스에서 가장 관심이 있지만 일반적인 해결책을 선호합니다.단위 테스트를 위해 브라우저에서 파일 선택 도구를 어떻게 조롱합니까?
파일 선택 대화 상자가 나타나지 않도록주의해야합니다. 나는 그것이 열렸다는 것을 주장 할 필요가 없다. 문제는 파일 선택기를 여는 JavaScript 코드에 대한 단위 테스트가 있다는 것입니다. 대화 상자가 열리면 은 테스트 모음의 실행을 중지합니다.
예를 들어 방법을 Backbone.View
으로 테스트하고 있습니다. 이 메서드는 렌더링 될 때 파일 선택기를 열 수있는 하위 뷰를 렌더링합니다. 그 서브 뷰를 직접 테스트하지 않기 때문에, onRender
메소드의 다른 부분을 테스트하는 데에만 관심이있을 때 그 동작의 일부를 조롱하지 않는 것이 좋습니다.
예 :
//Test file
it("should do something", function() {
var view = new App.Views.SomeView();
spyOn(view.modelBinder, "bind");
view.render();
expect(view.modelBinder.bind).toHaveBeenCalled();
});
//View file
onRender : function() {
this.modelBinder.bind(this.el, this.model);
this.$("#thing").html(this.subview.render().el); //This line has a side effect that opens file picker
}
는 기본적으로 내가 명시 적으로 내가 여기 테스트에 관심이 무엇을하지 않기 때문에 파일 선택기가 열리도록 행동을 조롱하고 싶지 않아요. 이렇게하면 테스트 스위트가 훨씬 더 부서지기 쉽고 유지 관리가 어려워집니다.
js-test-driver를 사용하고 있습니까? – leeand00
부탁을하고 단위 테스트를 추가하고 그것을 표시하는 함수가 호출되는 행을 주석 처리하십시오. – leeand00
몇 가지 코드와 상황에 대한 설명을 추가했습니다. –