Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Robolectric shadow activity.findViewById返回空值 Robolectric shadow activity.findViewById返回空值。_Android_Unit Testing_Robolectric - Fatal编程技术网

Android Robolectric shadow activity.findViewById返回空值 Robolectric shadow activity.findViewById返回空值。

Android Robolectric shadow activity.findViewById返回空值 Robolectric shadow activity.findViewById返回空值。,android,unit-testing,robolectric,Android,Unit Testing,Robolectric,这是一个相当简单的练习。所有的图坦卡蒙都与此相似,所以应该很简单。想知道是否有其他人正在经历这种情况。代码如下 @Test public void shouldFindViewsById(){ activity = Robolectric.buildActivity(DeckardActivity.class).create().visible().get(); assertThat(activity).isNotNull(); TextView textView

这是一个相当简单的练习。所有的图坦卡蒙都与此相似,所以应该很简单。想知道是否有其他人正在经历这种情况。代码如下

@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();

}
我希望你根据你的活动来使用这个例子

原始布局仅包含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>

如果您喜欢,这里是一个机器人分子测试的扩展示例

我添加了另一个textview,因此这不是问题所在。也不适用于原始的“R.id.text”。这可能是一个愚蠢的问题,但当您启动示例应用程序时,您将在屏幕上看到您的视图?只是为了清楚,我们有相同的:克隆deackard gradle;添加assertThat(activity.findviewbyd(R.id.text)).isNotNull();对现有的测试;然后使用在上一设置中刚刚放弃的./gradlew test启动测试。从你做过的那个开始。看起来不错。
activity = Robolectric.buildActivity(DeckardActivity.class).create().visible().get();

assertThat(activity).isNotNull();

TextView textView = (TextView) activity.findViewById(R.id.text);
assertThat(textView).isNotNull();