Весенний тест загрузки: ожидание задачи планирования микросервисов - PullRequest
0 голосов
/ 30 января 2019

Я пытаюсь проверить службу, которая пытается связаться с другой.

Одна из них генерирует аудитории, которые хранятся в памяти, пока запланированное задание не сбросит их на узле redis:

@Component
public class AuditFlushTask {

    private AuditService auditService;

    private AuditFlushTask(AuditService auditService) {
        this.auditService = auditService;
    }

    @Scheduled(fixedDelayString = "${fo.audit-flush-interval}")
    public void flushAudits() {
        this.auditService.flush();
    }

}

С другой стороны, этот сервис предоставляет конечные точки для предоставления этих очищенных аудиторий:

public Collection<String> listAudits(
) {
    return this.boService.listRawAudits(deadlineTimestamp);
}

Проблема в том, что я создаю интеграционный тест, чтобы проверить, работает ли этот процесс правильно,Я имею в виду, если аудиты предоставлены хорошо.

Итак, я не знаю, как "ждать, пока на микросервисе не произойдет аудиторская проверка".

Есть идеи?

1 Ответ

0 голосов
/ 30 января 2019

Не тестируйте каркас: Spring почти наверняка имеет тесты, которые проверяют фиксированные задержки.

Вместо этого держите всю логику внутри самой службы и тестируйте интеграцию отдельно от функции Spring @Scheduled.

...