0

我在布局中定义了一个按钮,如下所示:

<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
    }
}
4

1 回答 1

0

我从未使用过它们,但我相信您可以在TouchUtils课堂上做到这一点。这是Android TouchUtils 文档的链接。特别是你应该看看clickView方法。

于 2011-10-07T19:21:01.130 回答