В настоящее время я пытаюсь использовать определенный SDK, который загружает функции из библиотеки DLL, предоставляемой поставщиком. Я должен передать аргументы этим функциям, и библиотека DLL выполнит всю работу ..
Теперь предполагается, что DLL взаимодействует с другим устройством, а я просто жду результатов. Однако у меня нет этого устройства, так как я могу настроить макет интерфейса для эмуляции устройства?
Для ясности, вот пример:
myfuncpointer.Open(someparam,anotherparam,...);
Теперь, поскольку у меня нет устройства, DLL фактически не может выполнять вышеуказанную функцию; это терпит неудачу. Как настроить тестирование так, чтобы DLL взаимодействовала с классом, который я разработала, а не с устройством? Есть ли способ перенаправить вызов DLL?
Как мне сделать класс DummyDevice для этого?
Спасибо ..
P.S. Если что-то не понятно, пожалуйста, не спешите опровергать ... Прокомментируйте, что мне нужно объяснить, и я постараюсь прояснить это. Спасибо.
РЕДАКТИРОВАТЬ: Тем не менее, у меня есть спецификация со всеми используемыми структурами данных и ожидаемыми / допустимыми значениями, которые она должна содержать. Так, например, если я вызываю функцию:
myfuncpointer.getinfo(param,otherparam);
где один из параметров - это структура данных, которую DLL заполняет информацией (скажем, если опция включена) после запроса устройства .. Я могу сделать это
param.option = true;
после завершения вызова getinfo.
Это хороший способ проверить код? Кажется очень и очень опасным обманывать эту DLL, заставляя ее думать обо всех неправильных вещах, и кажется, что ее действительно очень трудно масштабировать хотя бы немного ..