这是一项相当简单的练习。所有这些都与此类似,所以应该很简单。想知道是否有其他人正在经历这个。代码如下。
@Test
public void shouldFindViewsById(){
activity = Robolectric.buildActivity(DeckardActivity.class).create().visible().get();
assertThat(activity).isNotNull();
TextView textView = (TextView) activity.findViewById(R.id.textView);
assertThat(textView).isNotNull();
Button button = (Button) activity.findViewById(R.id.button);
assertThat(button).isNotNull();
EditText editText = (EditText) activity.findViewById(R.id.editText);
assertThat(editText).isNotNull();
}
答案 0 :(得分:0)
我希望您使用基于DeckardActivity的https://github.com/robolectric/deckard-gradle示例?
原始布局仅包含ID为R.id.text
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/text"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="Hello Espresso!"
/>
</LinearLayout>
检查您是否导入了正确的示例R class import com.example.R;
并尝试执行以下测试代码段:
activity = Robolectric.buildActivity(DeckardActivity.class).create().visible().get();
assertThat(activity).isNotNull();
TextView textView = (TextView) activity.findViewById(R.id.text);
assertThat(textView).isNotNull();
如果你喜欢这里是robolectric测试的一个扩展例子https://github.com/nenick/android-gradle-template