터치 이벤트에 대한 테스트 케이스를 작성하고 싶습니다. 내 코드에는 터치 장치에 있는지 여부를 결정하는 다음과 같은 논리가 있습니다. 데스크톱 브라우저를 사용하여 터치 이벤트를 테스트하는 방법은 무엇입니까?
if(document.documentElement.ontouchstart !== undefined)
{
//content that I want to write test cases about
}
는 지금은
undefined
수 없습니다
document.documentElement.ontouchstart
가짜하려는, 그래서 내부 논리가 실행됩니다.
Sinon.js
의 stub
을 사용하여 document.documentElement.ontouchstart
에 빈 기능을 할당하려고했습니다. 그러나 "TypeError : 정의되지 않은 속성을 래핑하려고 시도했습니다. ontouchstart
을 함수로 사용합니다"라는 메시지가 표시됩니다. document.documentElement
에는 브라우저에 이러한 속성이 없습니다.
다른 테스트 케이스에 영향을 미치기 때문에 내 테스트에서 document.documentElement.ontouchstart = function() {..}
과 같은 것을 쓰고 싶지는 않습니다. 물론 원래 값을 저장하고 테스트 케이스가 끝나면 값을 복원 할 수 있습니다. 그러나 나는 이것을 묻는 더 우아한 방법이 있습니까?
if
진입하는 방법은?
onmousedown 이벤트를 위해/trigger를 호출 할 수 있습니다. ontouchstart –
@ABUdhay하지만 if 논리 내부의 논리를 확인하고 싶습니다. 'onmousedown '을 방아쇠하면'if' 문이 참이되지 않습니다. – JasmineOT
그건 기본적으로 DOM에 없을거야. 당신은 document.documentElement.ontouchstart = function() {// 여기에서 onmousedown의 콜백 함수를 호출하거나 mousedown 이벤트 핸들러를 트리거해야합니다 method} –