|
Как юнит-тестить класс работающий с оборудованием (посылать команды) ?
|
|||
---|---|---|---|
#18+
Юнит тест обычного класса с логикой понятен. А как тестировать класс, работой которого является управление физическим устройством ? Например по COM порту. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.06.2013, 15:56 |
|
Как юнит-тестить класс работающий с оборудованием (посылать команды) ?
|
|||
---|---|---|---|
#18+
Для начала ответить себе на вопрос... А что мы хотим проверить... Потом погуглить Mock object ... ну и выбрать подходящий фреймворк ... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.06.2013, 16:23 |
|
Как юнит-тестить класс работающий с оборудованием (посылать команды) ?
|
|||
---|---|---|---|
#18+
Ваще в тестировании я не очень(почти ваще никак), но когда занимался проектированием подобных систем(было давно), то прибегал к таким вариантам... Берется комп с двумя COM-портами, порты соединяются между собой нульмодемным кабелем, на один порт вешается тестируемая прога, на другой прога эмулирующая работу подключаемого оборудования, вот такой своеобразный юнит-тест. Есть еще такая прога под названием Proteus. Она может эмулировать работу контроллеров и т.д. Схема таже, только вместо проги-эмулятора ко второму порту подключается Proteus, в нем берем контроллер, заливаем в него прошивку(можно оригинальную с подключаемого девайся, если конечно есть), запускаем и смотрим как это все дело будет работать... Если нет материнки с двумя ком-портами можно взять два компа... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.06.2013, 16:36 |
|
Как юнит-тестить класс работающий с оборудованием (посылать команды) ?
|
|||
---|---|---|---|
#18+
Для разработки интерфейса верхнего уровня: Простые команды, типа что послал то и ответило, хватает внутреннего эмулятора(те в порт ни чего не пишется, а ответы эмитируются), если есть некие после события в оборудовании (ну что-то заработало) рандомайз в пределах. Этого обычно достаточно для верхнего уровня. Если дело посложнее, то пишу свой эмулятор и через порты (программа пересылающая, в интете) уже мудрю. Но это хлопотно, отнимает море времени, а толку маловато. Для отладки взаимодействия конечно надо юзать с железом, отладил, ну потом городи интерфейс с внутренним эмулятором. А потом уже ковыряй все вместе с железом и монитором портов. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.06.2013, 17:15 |
|
|
start [/forum/topic.php?fid=20&gotonew=1&tid=1404509]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
71ms |
get topic data: |
10ms |
get first new msg: |
7ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
others: | 10ms |
total: | 167ms |
0 / 0 |