В моей ситуации
Код: Выделить всё
public void test() {
Runnable R = new Runnable() {
@Override
public void run() {
executeTask1();
executeTask2();
}
};
ExecutorService executorService = Executors.newSingleThreadExecutor();
executorService.submit(R);
}
Я выполняю это в службе-исполнителе, так как она выполняет некоторые сетевые операции.
Во время модульного тестирования мне пришлось ждать, пока этот метод завершит выполнение. Есть ли лучший способ сделать это, вместо того, чтобы ждать Thread.sleep(500).
Фрагмент кода модульного тестирования:
Код: Выделить всё
@Test
public void testingTask() {
mTestObject.test();
final long threadSleepTime = 10000L;
Thread.sleep(threadSleepTime);
verify(abc, times(2))
.acquireClient(a, b, c);
verify(abd, times(1)).addCallback(callback);
}
Я хотел бы знать, есть ли хороший способ тестирования вместо ожидания время сна.
Подробнее здесь: https://stackoverflow.com/questions/463 ... ad-waiting