Cuando se crea una interfaz de usuario con SwiftUI, la idea es construir un modelo de vistas que puedan ser fácilmente relacionadas con los elementos de la interfaz de usuario. En estos casos, la mayor parte de las comprobaciones se pueden realizar en el propio modelo, usando frameworks estándar de pruebas unitarias que hacen estos tests fáciles de escribir y muy rápidos de ejecutar. Para probar la relación entre el modelo y las vistas, los desarrolladores normalmente se decantan por XCUITest, un framework para construir tests automatizados que ejecuta toda la aplicación y controla la interfaz de usuario de forma remota. Funciona, los tests son razonablemente estables, pero requieren mucho tiempo de ejecución.
Para una alternativa más rápida de pruebas unitarias con SwiftUI, prueba ViewInspector, un framework de código abierto que usa la API pública de reflection de SwiftUI para acceder a las definiciones de las vistas creadas por SwiftUI. Con ViewInspector, un test simplemente crea una instancia de una vista de SwiftUI, localiza los elementos de la interfaz de usuario que se quieren probar y realiza las comprobaciones necesarias contra los mismos. Las interacciones básicas como una pulsación táctil también se pueden comprobar. Como muchos otros frameworks de test para interfaces de usuario, proporciona una API para localizar elementos de la interfaz, ya sea mediante el uso de una ruta específica a través de la jerarquía visual o usando un conjunto de funciones de búsqueda. Este tipo de pruebas son normalmente más sencillas que las realizadas con XCUITests y se ejecutan mucho más rápido. Cabe tener en cuenta, sin embargo, que debido a la facilidad que ViewInspector ofrece para escribir este tipo de tests, podrías caer en la tentación de sobrepasarte probando la interfaz de usuario. Comprobar cada una de las relaciones una a una implica el doble de código a mantener. Aunque ViewInspector hace más sencillo probar el código de SwiftUI, recuerda mantener la mayor parte de la lógica en el modelo.