DagobertDokate
Dauergast
- 137
Heute mal ganz allgemein:^^
Wie teste ich eine Methode mit nem AsyncTask?
JUnit4 scheint damit ja nicht ganz klar zu kommen, oder mir fehlt das nötige Wissen dazu..
Quasi so etwas:
lg. Dagobert
Wie teste ich eine Methode mit nem AsyncTask?
JUnit4 scheint damit ja nicht ganz klar zu kommen, oder mir fehlt das nötige Wissen dazu..
Quasi so etwas:
Code:
@Override
public void refresh(final StartListItemTyp... itemTyps) {
if (!onCreateWasCalled) {
throw new IllegalStateException("onCreate() was not called");
}
if (itemTyps.length == 0) {
throw new IllegalArgumentException("Es wurde keine Section übergeben.");
}
new AsyncTask<Void, Void, Void>() {
@Override
protected Void doInBackground(Void... params) {
AnnetLog.v(TAG, "refresh()");
for (StartListItemTyp item : itemTyps) {
sendStartRefreshing(item);
}
try {
final List<StartEntry> newStartEntries = downloadHelper.downloadStartList();
final StartEntryComparator comparator = new StartEntryComparator();
for (StartEntry entry : newStartEntries) {
boolean contained = false;
for (StartListItemTyp itemTyp : itemTyps) {
if (itemTyp == entry.getTyp()) {
contained = true;
break;
}
}
if (contained) {
final StartEntry oldStartEntry = storageHelper.getStartListEntry(entry);
if (comparator.compare(oldStartEntry, entry) > 0) {
switch (entry.getTyp()) {
case XXX:
downloadNewsSection(entry);
default:
sendUpdated(entry.getTyp());
}
} else {
AnnetLog.v(TAG, "nothing to do with " + entry.getTyp());
sendUpdated(entry.getTyp());
}
}
}
} catch (BException e) {
//FIXME Fehler weiterreichen
}
return null;
}
}.execute();
}
lg. Dagobert