2011-02-01 15 views
1

特に、無効なuriが渡されたときに、私のcontentproviderのgetTypeメソッドをテストしようとしています。現在、IllegalArgumentExceptionをスローしますが、ここで Android ContentProviderでスローされた例外をテストする方法

は()メソッド私のテスト

public void testIllegalArgumentExceptionThrownForInvalidUri() { 
    Uri badUri = Uri.parse("content://" + NoteProvider.AUTHORITY + "/somethingelse"); 

    try { 
     String type = mockResolver.getType(badUri); 
     fail("No exception thrown"); 
    } catch (Exception ex) { 
     assertEquals(IllegalArgumentException.class, ex.getCause().getClass()); 
    } 
} 

と私はそれを強化していると、例外がスローされていることがわかります

@Override 
public String getType(Uri uri) { 
    switch (uriMatcher.match(uri)) { 
     case URI_NOTES: 
      return Notes.CONTENT_TYPE; 
     case URI_NOTE_ID: 
      return Notes.CONTENT_ITEM_TYPE; 
     default: 
      throw new IllegalArgumentException("Unknown URI " + uri); 
    } 
} 

のgetTypeの実装ですが、テストに失敗しますcatchブロックの代わりに呼び出されています。

MockContentResolverは例外をスワップしますか?

免責事項:私はAndroidとjavaの新機能ですが、C#で数年前からコーディングしていますが、何か完全に愚かなことをしている可能性があります。 :D

答えて

関連する問題