Хорошей идеей является сделать вещи, которые будут зависеть от времени, синхронными для целей тестирования. (Действительно, это хорошая идея - локализовать взаимодействия, зависящие от времени, даже при отсутствии тестирования.)
Если вы действительно хотите проверить, что эти методы запускают и останавливают поток, я бы вставил фиктивный объект myThread
, который предоставляет эти методы, но фактически не запускает поток, или поток, код которого просто будет сидеть и ждать, ничего не делая. Затем вы можете записать, что он запущен и остановлен, не беспокоясь о сложности того, что будет делать ваш реальный поток.
Возможно, ваша ситуация сложнее, чем просто проверка потока запущена? Это может помочь, если вы разместите чуть более крупный пример того, что вы хотите проверить.