私はのテストを書いています、ContentProvider
私insert
は変更について通知していますgetContext().getContentResolver().notifyChange(mUri, null);
私のテストクラスは拡張しProviderTestCase2
ます。次の模擬ContentObserverクラスを作成しました。
private class ContentObserverMock extends ContentObserver {
public boolean changed = false;
public ContentObserverMock(Handler handler) {
super(handler);
// TODO Auto-generated constructor stub
}
@Override
public void onChange(boolean selfChange) {
changed = true;
}
@Override
public boolean deliverSelfNotifications() {
return true;
}
}
これがテストケースです。
public void testInsertNotifyContentChanges() {
ContentResolver resolver = mContext.getContentResolver();
ContentObserverMock co = new ContentObserverMock(null);
resolver.registerContentObserver(CONTENT_URI, true, co);
ContentValues values = new ContentValues();
values.put(COLUMN_TAG_ID, 1);
values.put(COLUMN_TAG_CONTENT, "TEST");
resolver.insert(CONTENT_URI, values);
assertTrue(co.changed);
}
呼び出されたことがないようonChange
ですが、私もContentObserverMock co = new ContentObserverMock(new Handler());
同じ結果で試してみました。
私はここで何を間違っているのですか?