私はWindows8アプリを作成していて、その単体テストを作成しています。Windows 8環境内で自動化された方法でそれらを実行するにはどうすればよいですか?
Windows 8環境やDOMに依存せずに、非常に単純なJavaScriptファイルを作成すると、Node.jsを使用してコマンドラインから単体テストを実行できます。これは非常に高速です(1秒未満)。
DOMを使用する必要があり、DOMの使用法をあまり新しい機能にしない場合は、Node.jsでjsdomを使用して、同じセットアップと同じ速度を得ることができます。
しかし、jsdomは不完全であり、WinJSベースライブラリ(例WinJS.Promise
)やWindows.*
列挙型などの基本的なWindows8機能を使用したいことがよくあります。そして理想的には、アプリが実際に実行されるのと同じJSエンジンとDOM環境でテストする必要があります。
したがって、理想的には、テストランナーが必要です。実際のDOMでいくつかの単体テストを実行し、WinJSおよびWindowsランタイムAPIにアクセスできる軽量のWindows8HTML5コンテナーです。ビルドプロセスに統合するには、結果をコマンドライン(stdout、stderr)に報告し、成功または失敗に応じてテストランナーのリターンコードを変更する機能も必要です。また、完全に自動化され、バックグラウンドで実行可能で、非常に高速(10秒未満)である必要があります。
PhantomJSなどのWebKit用のこのようなツールがあることを私は知っています。WindowsランタイムHTML5環境にはそのようなものがありますか?そうでない場合は、そのようなものを構築するためにどのAPIを調べる必要がありますか?