2016-08-26 3 views
2

タッチイベントのテストケースをいくつか書きたいと思います。私のコードでは、それがタッチデバイス上にあるかどうかを判断するために次のロジックがあります。デスクトップブラウザを使用してタッチイベントをテストするにはどうすればよいですか?

if(document.documentElement.ontouchstart !== undefined) 
{ 
//content that I want to write test cases about 
} 

は今、私はundefinedではない偽document.documentElement.ontouchstartにしたいので、内部のロジックが実行されます。

Sinon.jsのを使用して、空の関数をdocument.documentElement.ontouchstartに割り当てようとしました。しかし、 "TypeError:未定義のプロパティーをラップするように試みましたontouchstart"というエラーが表示されます。document.documentElementにはこのようなプロパティはありません。

私は実際には次のようなものを書いたくありません:document.documentElement.ontouchstart = function() {..}私のテストでは他のテストケースに影響するので、もちろん、テストケースが終了したら、元の値を保存して値を復元することができます。しかし、私は尋ねたい、これを達成するためのよりエレガントな方法はありますか?

ifに入る方法を教えてください。

+0

onmousedownイベントontouchstartのために/ triggerを呼び出すことができます –

+0

@ABUdhayしかし、私は 'if'内のロジックをチェックしたいと思います。 'onmousedown'をトリガすることは' if'文が真になることを許しません。 – JasmineOT

+0

これは基本的にDOMにはありませんが、そこにはありません。document.documentElement.ontouchstart = function(){//ここでは、onmousedownのコールバック関数を呼び出すか、mousedownイベントハンドラーをトリガーする必要がありますメソッド} –

答えて

2

はChromeのデバイスツールを使用し、開発者のツールでこのボタンを有効にして切り替えます。画像 enter image description here

として

これは、モバイル環境にいるかのようにデバッグすることができます。

+0

このように、 'document.documentElement.ontouchstart'はまだ' undefined'です。このようにしても定義されていても、このようにテストケースを実行することは決してqunitには言えません。 – JasmineOT

関連する問題