Как выполнить модульное тестирование фрагмента кода, работающего внутри службы исполнителя, вместо ожидания Thread.sleepJAVA

Программисты JAVA общаются здесь
Anonymous
Как выполнить модульное тестирование фрагмента кода, работающего внутри службы исполнителя, вместо ожидания Thread.sleep

Сообщение Anonymous »

Как выполнить модульное тестирование кода, выполняющегося в службе-исполнителе?
В моей ситуации

Код: Выделить всё

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

Вернуться в «JAVA»