簡體   English   中英

Android-測試活動引發異常

[英]Android - Testing That an Activity Throws an Exception

我有一個活動,期望在調用意圖內有一個額外的設置作為輸入值。 因為這是一個非常基本的類,並且沒有多余的東西就無法工作,所以我想測試每次未設置多余的東西(或者如果它是錯誤的對象)時都會引發異常。 我試圖做這樣的事情:

     public class IntentAndroidGameTest extends ActivityInstrumentationTestCase2<BaseActivity> {

        public BaseActivityTest() {
        super(BaseActivity.class);
        }

        @Test
        public void testCorrectSetUp() {
        setActivityIntent(createIntent(new CorrectExtra()));
        assertNotNull(getActivity());
        }

        @Test
        public void testSetUpWithoutExtra1() {
        setActivityIntent(createIntent(null));
        try {
            getActivity();
        } catch (IllegalArgumentException e) {
            assertEquals("Extra must be set!", e.getMessage());
        }
        }

        @Test(expected = IllegalArgumentException.class)
        public void testSetUpWithoutExtra2() {
        setActivityIntent(createIntent(null));
        getActivity();
        }


        protected Intent createIntent(Serializable extra) {
        Intent intent = new Intent(Intent.ACTION_MAIN);
        intent.putExtra("myExtra", extra);
        return intent;
        }
    }

拋出了異常,但是測試將其視為一個不好的信號並指出:

測試無法完成。 原因:由於“ java.lang.IllegalArgumentException”,儀器運行失敗。

如何截獲並告訴Android測試我希望有異常?

該測試期望您的代碼實際拋出該異常,並且您自己捕獲該異常時,您不會讓測試框架看到該異常,結果該方法不拋出異常而退出,這不是預期的結果。 刪除try-catch塊,測試應該通過。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM