Wie mock-Thread.sleep() mit PowerMock?
Wie mock-Thread.sleep() mit PowerMock?
Probe-Schnittstelle und Klasse:
public interface Machine {
void sleep(long millis);
}
public class MachineImpl
implements Machine {
private static final Logger logger = Logger.getLogger(MachineImpl.class);
@Override
public void sleep(long millis) {
try {
if (millis > 0) {
logger.trace(String.format("Try to sleep for %d millis...", millis));
Thread.sleep(millis);
}
}
catch (InterruptedException e) {
logger.trace("Full exception", e);
}
}
}
- Als Maschine ist ein interface, kann Sie nicht Spritzen, ein Klasse überschreibt die Schlaf-Methode mit einer leeren Implementierung und test über die Schnittstelle?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dieser brauchte eine Weile, um herauszufinden, so beantworte ich meine eigene Frage stellen.
Dieser war hilfsbereit. Ich habe am Ende mit etwas geringfügig anderes. Ich benutze EasyMock statt Mockito.
Nicht zu benutzen brauchen
Thread.class
im@PrepareForTest
.