1

Robolectric で非常に簡単なテストをしようとしています。ビューが存在するかどうかをテストしたいと思います。これは、Robolectric の Web サイトの例と非常によく似ていますが、findViewByIdnull を返し続けます。

何が問題なのですか?

これは活動です:

public class SignInActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_sign_in);
    }
}

これはテストです:

@RunWith(RobolectricTestRunner.class)
public class SignInActivityTests {

    private SignInActivity mActivity;

    @Before
    public void setUp() throws Exception {
        mActivity = new SignInActivity();
        mActivity.onCreate(null);
    }

    @Test
    public void shouldHaveTheCorrectLogo() throws Exception {
        assertNotNull(mActivity.findViewById(R.id.signInLogo));
    }
}

レイアウト XML ファイルにImageViewは正しい ID とリソースが含まれているため、エミュレーターでアクティビティを実行しても問題なく動作します。

4

1 に答える 1

-1

問題が見つかりました。何らかの理由で、新しいアクティビティウィザードがandroidではなくandroid1タグを使用してXMLを作成しました。Robolectricが探しているものではないかもしれません

于 2012-10-30T08:46:50.190 に答える