В моей кодовой базе C++ есть класс PassiveBuzzer, который программно эмулирует поведение активного зуммера, управляемого по линии ШИМ. Его можно настроить с помощью шаблонов, с периодом и рабочим циклом, например, с линиями ШИМ. Конструктор берет частоту, на которой он гудит, когда он "включен". Конструктор также принимает объект типа Linux::PWM::Line, который является производным от интерфейса PWM::Line. Таким образом, я могу легко издеваться над этим объектом в модульных тестах.
Чтобы включать и выключать пассивный зуммер, я сейчас использую timerfd (с классом-оболочкой C++).
Однако это не позволяет мне качественно протестировать поведение моего класса, поскольку Timer создается внутри класса PassiveBuzzer и не передается ему.
Я хотел бы это сделать иметь возможность тестировать класс PassiveBuzzer и получать детерминированные результаты (независимые от нагрузки системы и других факторов).
Каковы распространенные способы разрешить детерминированное тестирование классов, которые зависят вовремя, чтобы вызвать поведение? Как я могу выделить время вне класса?
Подробнее здесь: https://stackoverflow.com/questions/784 ... al-to-code
Разработка через тестирование: как сделать время внешним по отношению к коду ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Разработка через тестирование: как сделать время внешним по отношению к коду
Anonymous » » в форуме Linux - 0 Ответы
- 24 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Построитель красноречивых запросов Laravel – сумма с группой по отношению
Anonymous » » в форуме Php - 0 Ответы
- 43 Просмотры
-
Последнее сообщение Anonymous
-