我在布局中定义了一个按钮,如下所示:
<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,我可以为该活动创建一个简单的测试类,我想知道我是否可以进行调用按钮的测试,并确保我的活动中的方法被调用正常。
(我的应用程序中有一大堆按钮,因此打算进行测试以确保它们正确连接,除非有人对我为什么不应该打扰有任何建议)
@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
}
}