Los resources de la aplicación no están disponibles cuando se realizan testings de interfaz de usuario en Xcode 7

Estoy tratando de ampliar la nueva funcionalidad de testing de interfaz de usuario en Xcode 7 mediante la instantánea de los elementos de pantalla actuales (tags, imágenes, botones) y guardando su información de accesibilidad a los files json.

La idea es que cuando se ejecuten las testings de interfaz de usuario más tarde, se pueda tomar una instantánea de pantalla actual y compararse con la existente, la testing fallará si se encuentran elementos adicionales o faltantes.

Desafortunadamente, los resources de la aplicación no parecen estar disponibles durante las testings de interfaz de usuario, incluso con el objective correcto, por lo que los files json no se pueden cargar para la comparación. El siguiente código estándar no puede cargar un recurso:

guard let resourcePath = NSBundle.mainBundle ().pathForResource ("StartScreenShapshot", ofType:"json") else { XCTFail ("can't load resource StartScreenShapshot") return } 

Puedo entender por qué Apple ha adoptado este enfoque de caja de arena, ya que las testings de interfaz de usuario deberían basarse en lo que está sucediendo en la pantalla, y el acceso al funcionamiento de la aplicación no debería ser necesario, pero no tener acceso al package de resources es un dolor.

Entonces, ¿hay alguna manera de cargar resources locales de la aplicación, o de alguna otra manera localmente, durante las testings de interfaz de usuario de Xcode 7?

Guardar los files localmente (automáticamente) también sería una gran ventaja, ahorraría crearlos manualmente.

Gracias a @ sage444

Para las testings unitarias, el método mainBundle () no funciona para recuperar una ruta de resources, utilizando una class.

  guard let resourcePath = NSBundle (forClass: self.dynamicType).pathForResource (contentName, ofType:"json") else { XCTFail ("can't load resource \(contentName)") return } 

Gracias @danfordham

Actualizado para Swift 3

1) Copie los resources del package introduzca la descripción de la imagen aquí

2) Referencia nuevo package de esta manera,

 guard let path = Bundle(for: type(of: self)).path(forResource: contentName, ofType: "json") else { XCTFail ("can't load resource \(contentName)") return }