1

これが私のテストケースです:

public void testStartActivityWithoutExtraData() {
    try {
        getActivity();
        Assert.fail("Should have thrown IllegalStateException");
    } catch (IllegalStateException ex) {
        assertTrue(true);
    }
}

なしで開始された場合Activity、テスト中は がスローされます。したがって、このテストでは を期待していますが、問題が原因でテストは常に失敗します。ExceptionextrasIllegalStateException

Test failed to run to completion. Reason: 'Instrumentation run failed due to 'java.lang.IllegalStateException''. Check device logcat for details
Test running failed: Instrumentation run failed due to 'java.lang.IllegalStateException'

Logcatは、非常に期待されているApplicationスローされた anを言っているだけです。Exceptionでは、テストでそれをどのように処理するのでしょうか? ありがとうございました。

更新 ここに私が実際にテストしているコードがあります:

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.edit_item_activity);

        ActionBar actionBar = getSupportActionBar();
        actionBar.setDisplayHomeAsUpEnabled(true);

        Bundle bundle = getIntent().getExtras();

        if (savedInstanceState == null) {
            if (bundle != null) {
                EditItemFragment editItemFragment = EditItemFragment.newInstance(bundle.getInt
                        ("id")); 
                FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
                transaction.add(R.id.edit_item_activity_frame, editItemFragment).commit();
            } else {
                throw new IllegalStateException(TAG + " should be invoked with Extras (id for " +
                        "ticket)");
            }
        }
    }
4

0 に答える 0