#c# #windows #winapi #usb
#c# #Windows #winapi #usb
Вопрос:
У меня есть несколько интеграционных тестов, которые проверяют обработку USB-данных с USB-прослушивателя, который является частью нашего приложения. Я хочу иметь возможность запускать эти тесты, даже если устройство, которое прослушивает код, тоже отсутствует. т.е. Мой тестовый код записывается на устройство, чтобы мой производственный код считывал его и обрабатывал. Наличие устройства не повлияет на обработку производственного кода. Кто-нибудь знает, возможно ли это?
Спасибо
РЕДАКТИРОВАТЬ: причина, по которой я пытаюсь использовать этот метод, заключается в том, что аналогичный код очень хорошо работает для версии RS-232, т.Е. интеграционные тесты записываются в порт, и наличие подключенного устройства не влияет на результат.
Комментарии:
1. Это замечательный вариант использования для внедрения зависимостей! Вместо вашего реального интерфейса чтения и записи вы подключаете интерфейс тестовой системы, который вводит или удаляет некоторые данные.
Ответ №1:
Я думаю, вам следует написать альтернативную реализацию класса, который в данный момент записывает данные на ваш USB-накопитель. Итак, вам понадобится интерфейс или что-то в этом роде и два класса, которые его реализуют. Если устройство подключено…используйте реализацию 1, в противном случае используйте реализацию 2 (запись на диск или что-то в этом роде).