2

私は、アクティビティを開くための特定のメソッドを呼び出す必要があるカスタムビューを持っています。エスプレッソ・テストでそれを行う正しい方法は何ですか? このビューを拡張するだけで、カスタムViewActionを作成する必要がありますか?エスプレッソ・テストでカスタム・ビューのメソッドを呼び出す方法は?

+0

のように、通常どおりにそれを使用することができ、カスタムのメソッドを呼び出す必要がありますアクティビティーの内部にあるビュー、または最初からアクティビティーを開始するだけですか? – lelloman

+0

私はカスタムビューでメソッドを呼び出す必要があります –

+0

明確にするために、アクティビティの単体テストが必要ですか、これは統合テストのためのものですか? – mawalker

答えて

7

あなたはこの

public class MyCustomViewAction implements ViewAction{ 

    @Override 
    public Matcher<View> getConstraints(){ 
     return isAssignableFrom(YourCustomView.class); 
    } 


    @Override 
    public String getDescription(){ 
     return "whatever"; 
    } 

    @Override 
    public void perform(UiController uiController, View view){ 
     YourCustomView yourCustomView = (YourCustomView) view; 
     yourCustomView.yourCustomMethod(); 
     // tadaaa 
    } 

} 

のようなカスタムViewActionを作成して、私は問題を理解「いけない

onView(withId(whatever)).perform(new MyCustomViewAction()); 
+0

結果を戻してアサーションメソッドに渡すにはどうすればいいですか? – everlasto

関連する問題