2015-11-13 14 views
5

私はいくつかのUIテストを個別に、またはグループ化できます。私はテストを特定のクラスに分割し、そのように実行しました。私が遭遇した問題は、Xcodeがアルファベット順のUIテストを実行し、それが書かれている/表示されていないことです。それを回避する方法に関するアイデア?Xcode 7 UIテストオーダー

ありがとうございました

+0

私のテストでは、いくつかのヘルパー機能を書いています。 'loginIfNeeded()'ログインページ上のラベルだけをチェックしてからログインします。同様の 'logoutIfNeeded()'は、ログイン画面から起動する必要のあるテストで使用できます。 – JMFR

+0

@JMFR UIテストケースを書くのが初めてです。私を助けてください、またはヘルパー関数を書く方法を私にいくつかの例を教えてください。ありがとうございます。 – Urmi

答えて

7

良いテストスイートは特定の順序で実行されるべきではありません。あなたがしている場合、いくつかのテスト汚染があるかもしれません。私は、関連するテストのsetUp()メソッドに共通の初期化ロジック(たとえば、ユーザのログイン)を追加します。またはヘルパーメソッドを作成し、クラス間で共有します。それは、すべてのテストのためにアプリケーションを再起動することと組み合わせて、テストの順序を無関係にする必要があります。

+0

ありがとうございました。私はこれを初めて熟知しており、現時点ではコードに関する経験はほとんどありません。私はあなたのブログを見つけました。それは助けになりました。 – Sandmaster

+0

これは主に真実ですが、私はUIテストを使ってUIのスナップショットを作成し、ビジュアルサインオフを取得するので、それらの順序はまだ私にとって重要です。 –

5

XCテストは非常にバグが多いです。時には、風の方向や地球の回転の速度が、あなたがランダムな失敗を起こすかどうかを判断するように見えることがあります。私はややは、あなたがこれを呼び出す場合は、これらのイライラ問題がある軽減があなたのティアダウン()関数であることがわかった一つの修正:

XCUIApplication().terminate() 

はXCUIApplication()あなたが実行しているアプリケーションです。

+2

私はテストが一貫して失敗するので、失敗を再現するには時間がかかるので、私は適切にデバッグすることもできないので、 "信じられないほど"は控えめな言い方で – CommaToast

+0

です。 %#k –

関連する問題