У меня есть класс, у которого есть частный член, который имеет тип System.Windows.Forms.Timer
. Существует также частный метод, который вызывается каждый раз, когда мой таймер тикает.
- Стоит ли тестировать метод? (так как он частный)
- Как я могу проверить его? (Я знаю, что у меня может быть класс тестирования, наследующий класс, который я хочу проверить...)
- Должен ли я высмеивать свой таймер? Потому что, если мне нужно протестировать класс, который использует внутренний таймер, мои тесты могут занять много времени, не так ли?
изменить:
На самом деле, метод имеет зависимость от времени, здесь код:
private void alertTick(object sender, EventArgs e) {
if (getRemainingTime().Seconds <= 0) {
Display.execute(Name, WarningState.Ending, null);
AlertTimer.Stop();
}
else {
var warning = _warnings.First(x => x == getRemainingTime());
if (warning.TotalSeconds > 0)
Display.execute(Name, WarningState.Running, warning);
}
}
Как вы можете видеть, если таймер запущен, он вызывает Display.execute()
с разными параметрами с момента его окончания (когда оставшееся время равно 0). Будет ли это проблемой дизайна?