iOS UI オートメーション インストルメントを処理するための 2 つのサードパーティ フレームワークがあります。Alex Volmer の tuneup.js と Jasmine フレームワークです。
これら 2 つのフレームワークの違いは何ですか?また、それらの長所と短所は何ですか?
iOS UI オートメーション インストルメントを処理するための 2 つのサードパーティ フレームワークがあります。Alex Volmer の tuneup.js と Jasmine フレームワークです。
これら 2 つのフレームワークの違いは何ですか?また、それらの長所と短所は何ですか?
tuneup.jsとJasmineはどちらも、UIAutomationのかなり冗長で骨の折れるアサーションAPIの優れたラッパーを提供します。
tuneup.jsの利点は、テスト/アサーションの抽象化だけでなく、UIAutomationでさまざまな一般的なタスク(テキストをテキストフィールドに入力するなど)を実行するための便利なメソッドも多数含まれていることです。tuneup.jsの欠点(Jasmineと比較して)は、Jasmineがネストされたdescribe
/it
仕様の定義を介して提供する優れた描写の一部が欠けていることです。
上記のように、Jasmineは、アプリのさまざまな仕様を定義するための豊富な方法を提供します。さまざまなテストを非常に簡単に指定できます。さらに、通常の古いJavascriptテストでJasmineを使用したことがある場合は、非常によく知られています。
いずれの場合も、アプリにリモートで深い要素階層が含まれている場合は、tuneupまたはJasmineのいずれかを自分のフレームワークmechanic.jsとペアリングすることをお勧めします。Mechanicを使用すると、アプリの「DOM」をトラバースして要素を操作するのが非常に簡単になります。昔ながらのUIAutomationは少し冗長になる可能性があります。mechanicは、UIAutomationのJQueryの一種です。
とにかく、私の個人的な選択は、ほとんどの場合、ジャスミン+メカニックです。Jasmineのスペック定義APIのリズムを好み、Mechanicと組み合わせると、簡潔で読みやすいUIテストが可能になります。
Jasmine と tuneup.js はどちらも、iOS 自動化テストを作成するための同様の単純な構文を提供します。
Jasmine の利点の 1 つは、優れたレポート構造を備えていることです。そのため、Jenkins や Hudson などの CI サーバーから自動化テストを実行する予定がある場合、CI サーバーが Jasmine からの XML テスト結果を解析するよりも、XML テスト結果を解析する方がはるかに簡単になります。 tuneup.js を使用したときに得られる .plist 形式