Turn off UIFigure visibility during unit test

How can I run unit tests on an app without displaying the UIFigure during the tests? Rendering the graphics makes the tests take 10 times longer.
classdef UI < matlab.apps.AppBase
...
end
classdef tUI < matlab.uitest.TestCase
...
% many tests involving UI gestures
...
end

 Respuesta aceptada

Adam Danz
Adam Danz el 13 de Oct. de 2025
Editada: Adam Danz el 3 de Nov. de 2025

0 votos

Interaction tests using press, drag, etc, require figure visibility to be on in the App Testing Framework.
Make sure you're not unnecessarily creating/destroying the uifigure repeatedly between tests. In most cases, the figure/app only needs to be generated once during TestClassSetup and removed via a teardown. Reducing the figure size may also help with performance.

Más respuestas (1)

Anjaneyulu Bairi
Anjaneyulu Bairi el 13 de Oct. de 2025
Hi,
In your code, you can create a function which turn on/off the visibilty of the figures. See the below code for example
function app = TurnOff(fig)
fig.Visible = 'off';
end
This way, you can show or hide any figure by changing its Visible property.
Hope this helps

1 comentario

Rich006
Rich006 el 13 de Oct. de 2025
Editada: Rich006 el 13 de Oct. de 2025
I think there is no way to do what I want to do, which is to turn off visibility during unit testing with gestures. If I make the UIFigure invisible as you suggest, I get the following error. It looks like the unit testing gestures require the UIFigure to be visible.
Error ID:
---------
'MATLAB:uiautomation:Driver:VisibleHierarchy'
--------------
Error Details:
--------------
Error using matlab.ui.internal.Driver/type
The component must have a visible hierarchy.
Error in matlab.uitest.internal.GestureProvider/type (line 181)
testCase.Driver.type(H, text, varargin{:});

Iniciar sesión para comentar.

Categorías

Productos

Versión

R2023b

Preguntada:

el 8 de Oct. de 2025

Editada:

el 3 de Nov. de 2025

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by