Swift-¿Obtener NSBundle para el objetivo de prueba?
(1)
En el Objetivo C, cuando tenía que acceder al paquete de prueba, llamaba
[NSBundle bundleForClass:[ClassInTestTarget class]];
bundleForClass
no está disponible en Swift, entonces, ¿cómo bundleForClass
al paquete de prueba?
La razón por la que necesito esto es que para escribir pruebas para un marco en el que estoy trabajando, tengo que usar una pila de datos del núcleo de memoria. Inicialmente, todos los recursos se incluyeron tanto en el objetivo principal como en el objetivo de prueba, pero luego moví a todos estos ayudantes de prueba para probar solo el objetivo, y ahora el código que aparece a continuación devuelve cero, lo que falla todas mis pruebas
let modelURL = NSBundle.mainBundle().URLForResource("Model", withExtension: "momd")
El código Swift correspondiente es
// Swift 3 and later:
Bundle(for: ClassInTestTarget.self)
// Swift 1, 2:
NSBundle(forClass: ClassInTestTarget.self)
ClassInTestTarget.self
devuelve el objeto de clase para la clase "ClassInTestTarget".