Я не совсем уверен, знакомы ли вы с Matlab App Testing Framework .Платформа тестирования приложений позволяет программно взаимодействовать с приложениями-дизайнерами / приложениями uifigure.Взгляните на матрицу доступности жестов компонентов, чтобы ускорить ваши потребности в тестировании пользовательского интерфейса.Сказав, что на сегодняшний день среда тестирования приложений еще не поддерживает непосредственное взаимодействие с блокирующим диалогом пользовательского интерфейса, как uiconfirm.
Очевидным грубым способом решения проблемы блокировки является дублирование тестируемой функции uiconfirm с помощью пользовательской версии, которая может быть неблокирующей.Если это достаточно простое и приемлемое для вас решение, продолжайте его.Однако, по мере того, как ваше приложение изменяется и масштабируется, имитация может также усложниться и, следовательно, стать трудной в обслуживании.
Имея это в виду, лучший подход к программному тестированию вашего приложения - использовать mocking framework для создания фиктивного объекта, определяющего поведение uiconfirm.Лучший способ добиться этого - через инъекцию зависимостей.В вашем случае приложение может иметь / иметь свойство, которое может хранить контекстно-зависимый объект «UIConfirm [имя в соответствии с вашим рабочим процессом]».По умолчанию в производственной среде она будет вызывать настоящую команду uiconfirm, но делегатор «mock» или «stub» может предоставить детерминированные выходные данные, чтобы сделать систему более тестируемой (и вообще избежать проблемы с «блокировкой» диалога). Это, безусловно, добавляет накладные расходы.чтобы сделать это в другом простом приложении, но я чувствую, что вы цените тестирование так же, как и мы!
Также, пожалуйста, посмотрите на этот подробный пример тестирования Mocking-App https://www.mathworks.com/help/matlab/matlab_prog/write-test-that-uses-app-testing-and-mocking-frameworks.html