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