/var/log/messages

debugging with sixth sense

試験が動かない件

試験が動かない。Empty test suite と言われてしまいます。

$ ./gradlew tasks

しても試験関連なナニは出てこない。Android Studio でターゲット出てきて実行できちゃう、ってのがそもそもダウトなのかどうか。

ちょっと色々情報を整理しつつ試行錯誤してみます。

configuration 開いて target を実機にしたらとても簡単に動いたorz

そして ActionBar の overflow メニューの項目クリックしたら「閉じる」ってボタンがあるダイアログが開いてること、って試験が以下な記述でパスした。

public void testOptionsItemSelected() {
    // Open the overflow menu OR open the options menu,
    // depending on if the device has a hardware or software overflow menu button.
    openActionBarOverflowOrOptionsMenu(getInstrumentation().getTargetContext());

    // Click on the icon - we can find it by the r.Id.
    onView(withText("このアプリについて"))
            .perform(click());

    onView(withText("閉じる")).check(matches(isDisplayed()));
}

色々試験書いてみる予定。

追記

Espresso に貼ってある youtube な解説動画見てるのですが、自分メモを幾つか。

  • onView で view 特定 (特定の手段として Matcher なソレを使う)
  • preform で何かをさせて (ViewAction を渡す)
  • check で確認 (ViewAssertion を渡す)

という形で動作確認をしていく、とのこと。以下も見とけ、とのことでした。

ようやく動く試験が書けたのでこのまま続けてみます。何かあれば追記の方向。

追記

以下でも動作確認ができる事を確認。

$ ./gradlew connectedInstrumentTest

リモートで云々、な方法確認せねば、なんですがとりあえず emulator 起動するコマンドは以下なエントリで確認できるので

emulator と gradlew が、な問題解決の必要があるのか。

Comments