запись на USB-устройство, которое не подключено

#c# #windows #winapi #usb

#c# #Windows #winapi #usb

Вопрос:

У меня есть несколько интеграционных тестов, которые проверяют обработку USB-данных с USB-прослушивателя, который является частью нашего приложения. Я хочу иметь возможность запускать эти тесты, даже если устройство, которое прослушивает код, тоже отсутствует. т.е. Мой тестовый код записывается на устройство, чтобы мой производственный код считывал его и обрабатывал. Наличие устройства не повлияет на обработку производственного кода. Кто-нибудь знает, возможно ли это?

Спасибо

РЕДАКТИРОВАТЬ: причина, по которой я пытаюсь использовать этот метод, заключается в том, что аналогичный код очень хорошо работает для версии RS-232, т.Е. интеграционные тесты записываются в порт, и наличие подключенного устройства не влияет на результат.

Комментарии:

1. Это замечательный вариант использования для внедрения зависимостей! Вместо вашего реального интерфейса чтения и записи вы подключаете интерфейс тестовой системы, который вводит или удаляет некоторые данные.

Ответ №1:

Я думаю, вам следует написать альтернативную реализацию класса, который в данный момент записывает данные на ваш USB-накопитель. Итак, вам понадобится интерфейс или что-то в этом роде и два класса, которые его реализуют. Если устройство подключено…используйте реализацию 1, в противном случае используйте реализацию 2 (запись на диск или что-то в этом роде).