0
내 레이아웃에서 다음과 같이 정의 된 버튼이 있습니다.Robolectric가 메소드가 호출되었다고 주장 할 수 있습니까?
<Button
android:id="@+id/speakButton"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:text="@string/speak"
android:onClick="speak"
/>
onClick
은 다음과 같은 내 액티비티의 메소드에 바인딩됩니다.
public void speak(View v)
{
// Do my stuff here
}
Robolectric을 사용하여 해당 액티비티에 대한 간단한 테스트 클래스로, 버튼을 호출하는 테스트를 수행 할 수 있는지, 그리고 내 액티비티의 메서드가 OK인지 확인할 수 있는지 알고 싶습니다.
(내 모든 애플 리케이션에 걸쳐 버튼을 가지고있어, 그래서 그들은 아무렇게나 내가 shoudln't 걱정하는 이유에 대한 제안을하지 않는 한 그들은 올바르게 유선 있는지 확인하기위한 테스트를하고자)
@RunWith(RobolectricTestRunner.class)
public class MyActivityTest
{
private MyActivitymActivity;
private Button speakButton;
@Before
public void setUp() throws Exception
{
mActivity = new MyActivity();
mActivity.onCreate(null);
speakButton = (Button) mActivity.findViewById(com.jameselsey.apps.androidsam.R.id.speakButton);
}
@Test
public void testButtonsVisible()
{
assertThat(speakButton.getVisibility(), equalTo(View.VISIBLE));
}
@Test
public void buttonsInvokeIntendedMethods()
{
// Unsure how to implement this test
}
}