La UI testing el error de Mach-O Linker

Estoy intentando escribir UI y unidades de testing para una aplicación en la que estamos trabajando. Con el fin de hacerlo más fácil, he escrito una class que instancia random los objects de las classs del proyecto, que luego pueden ser utilizados por todas las classs de testing.

El problema con el que me encuentro en este momento es que cuando se crean testings de interfaz de usuario, el linker Mach-o lanza algunos errores que dicen Symbols not found for architecture ... y hacen reference a las classs principales de mi proyecto y ese generador de objects aleatorios.

Lo extraño es que, para las Pruebas Unitarias, ¡el mismo generador aleatorio funciona bien!

Para el context: no importa si ejecuto todo en un dispositivo o simulador real (por lo que el argumento de architecture en el error es irrelevante)

Mi proyecto se configura de la siguiente manera:

  • Espacio de trabajo:
    • Proyecto: mi proyecto
      • Clase foo
      • Barra de class
    • Objetivo: testings de unidad
      • Clase RandomObjectGenerator
      • Prueba de unidad 1
    • Objetivo: testings de interfaz de usuario
      • Prueba de interfaz de usuario 1

Tenga en count que la class RandomObjectGenerator se asigna a los siguientes destinos: Objetivo RandomObjectGenerator

Como tal, mis classs de testing Unit / UI siempre especifican @testable import MyProject .

Aquí está el post de error lanzado durante la compilation: Error del compilador del enlace

Mientras que en el editor, puedo hacer reference a esas classs muy bien …

Si alguien tiene alguna idea, me encantaría saberlo. Estoy un poco perdiendo la mente ante esos errores 🙁

Su problema no es fácilmente solucionable en este momento … Tiene que hacer cosas locas para superar esa limitación, como: Incluya todo su código en su objective de testing de UI … o brinde forms de acceder a la lógica que desea exponer, desde la capa de interfaz de usuario para que pueda disparar cosas dentro de su aplicación. es decir, un button que restablece toda su capa de datos … falsifica la conectividad de la networking … sea cual sea su testing.

Consulte esta respuesta para get más detalles y las diferentes estrategias para resolver ese problema:

Error de vinculador al acceder al module de aplicación en testings de interfaz de usuario en XCode 7.1