plugin ios xcode7 ocmock

ios - plugin - El objetivo de prueba X encontró un error(Salida inesperada temprana, la operación nunca finalizó el arranque, no se intentará reiniciar



cordova plugin ionic webview (24)

He comenzado a trabajar con OCMock para escribir casos de prueba para el proyecto existente que he integrado en el espacio de trabajo de mi proyecto. Después de seguir todos los pasos mencionados en este link

Cuando ejecuté por primera vez mi caso de prueba me está dando este error. Lo busqué e intenté seguir algunas de las soluciones como "crear un nuevo objetivo", "reiniciar Xcode", pero no me ayudó. ¿Alguna idea?


Cambiar de Xcode 9.4.1 a Xcode 10.1 resolvió el problema en mi caso.


Durante la creación de Cocoa Touch Framework, cada intento de ejecutar pruebas terminó con el mismo mensaje de error como OP escribió.

Lo arreglé cambiando la configuración de compilación de TEST de Debug a Release.

Paso 1

Paso 2

Paso 3

Nota : No se necesitaba ninguna configuración adicional de las Runpath Search Paths de Runpath Search Paths .

Estoy usando Cocoapods en la versión 1.6.1 y Xcode 10.1


En mi caso no había nada malo con los archivos vinculados. El simulador quedó atascado en el mensaje que la aplicación activó, como: "El nombre de la aplicación desea enviarle notificaciones". Presioné OK y la próxima vez mis XCTests funcionaron bien.


En mi caso, Build Active Architecture Only se configuró en YES.

En proyectos y destinos: Configuración de compilación -> Arquitecturas -> Construir arquitectura activa solo debe ser NO en lugar de SÍ


En mi caso, había declarado una propiedad como de solo lectura en un archivo de encabezado:

// In .h file @property (nonatomic, readonly) NSUInteger count;

pero olvidé agregar esta declaración al .m para generar un setter:

// In .m file @property (nonatomic, assign) NSUInteger count;

Error tonto, no estoy totalmente seguro de por qué se manifestó en este error, pero agregar esa línea al .m solucionó el problema.


En mi caso, hubo un problema con mi aplicación en el simulador. Antes de que surgiera el problema, procesé una migración de db (reino) que falló y destruyó mi db. Entonces, todo funcionó bien para mí después de eliminar la aplicación en el simulador.


En mi caso, mi configuración de compilación -> Arquitecturas se configuró solo para armv7 y cambié por ARCHS_STANDARD que era lo mismo de mi aplicación de host


En mi caso, no había agregado una fase Run Script para las bibliotecas Quick y Nimble que integré usando Carthage.


En mi caso, tenía un proyecto completamente limpio con pruebas vacías predeterminadas. Si agregué algún pod, recibí este error. La solución fue que al menos un archivo en Test target debería importar Foundation

import XCTest import Foundation @testable import CVZebra class CVZebraTests: XCTestCase { override func setUp() { // Put setup code here. This method is called before the invocation of each test method in the class. } override func tearDown() { // Put teardown code here. This method is called after the invocation of each test method in the class. } func testExample() { // This is an example of a functional test case. // Use XCTAssert and related functions to verify your tests produce the correct results. } func testPerformanceExample() { // This is an example of a performance test case. self.measure { // Put the code you want to measure the time of here. } } }


En mi caso, tuve que eliminar $(inherited) de otras banderas de Linker en mi objetivo de prueba de interfaz de usuario. He instalado bibliotecas estáticas a través de cocoapods.


Estoy usando Cartago y el problema para mí era buscar dependencias en un objetivo de prueba. Fijar:

Agregue $(PROJECT_DIR)/Carthage/Build/iOS a Runpath Search Paths

Puede encontrar referencia aquí: problema de Cartago


Hay algunas configuraciones de proyecto agregadas automáticamente que vienen con Xcode 10, y vienen algunas veces, no todo el tiempo. Después de descargar Xcode 10, reinicie su computadora. Eso es lo que me arregló esto. Ninguna de estas respuestas me lo arregló. Espero que esto ayude. Desearía poder dar una mejor respuesta.


Mi caso fue especial. Usé 2 archivos como clases de prueba. uno funcionó perfectamente y el otro tuvo ese error.
Ambos se vinculan con el mismo marco.

Solución

BORRAR DATOS DERIVADOS

Ventana => Proyectos => Eliminar (en su proyecto)

¡Buena suerte y feliz prueba!


Mi solución fue agregar una "fase Copiar archivo" a mi objetivo de prueba. Allí configuré el destino en Frameworks y agregué mi marco con el signo +.


Para mí, tuve que ''confiar'' en el desarrollador en ''Administración de dispositivos'' en ''Configuración -> General'' en mi dispositivo. (Configuración -> General -> Administración de dispositivos -> DeveloperID -> ''Confiar en la aplicación'') Como estaba ejecutando la aplicación a través de la carga lateral usando mi ID de Apple.


Podría haber otra solución, si está utilizando CocoaPods y el objetivo de prueba de IU está incrustado dentro del objetivo de la aplicación, que desafortunadamente es el caso en la plantilla predeterminada ( pod init ).

Intente mover el objetivo de prueba de IU fuera del objetivo de la aplicación de la siguiente manera:

desde:

platform :ios, ''11.0'' use_frameworks! target ''MyApp'' do # Pods for MyApp target ''MyAppUITests'' do inherit! :search_paths # Pods for testing end end

a:

platform :ios, ''11.0'' use_frameworks! # Pods shared between MyApp and MyAppUITests target ''MyApp'' do # Pods for MyApp only end target ''MyAppUITests'' do # Pods for testing end

El crédito va a SpacyRicochet en este tema: https://github.com/CocoaPods/CocoaPods/issues/4752#issuecomment-305101269


Quisiera compartir mi respuesta, espero que pueda ahorrarle tiempo a alguien.

Para mí, el archivo .m no estaba vinculado correctamente en Fases de compilación -> Compilar fuentes


Si alguien aún experimenta este problema, this respuesta me ayudó. Establezca Siempre incrustar bibliotecas estándar Swift en No en la configuración del proyecto. Lo hice para el objetivo de prueba de IU.


Solo para compartir mi experiencia sobre este error:

Estoy usando fastlane + cocoapods.

Tengo un espacio de trabajo con 2 marcos dinámicos:

  • Un marco
  • B. marco

Dependencias:

  • A depende de AFNetworking utilizando cocoapods
  • B depende de A

La dependencia se define en el Podfile.

El error se generó al ejecutar pruebas de marco B.

En mi caso, el problema estaba relacionado con la dependencia que faltaba para AFNetworking en el objetivo B.framework.

Al agregar una dependencia de pod a AFNetworking en B.framework en Podfile, todo se resolvió.

Entonces, incluso si el objetivo B se está compilando con éxito, AFNetworking no estaba integrado en la aplicación de prueba B y el simulador no pudo ejecutar la aplicación de prueba B, lo que provocó este error "muy significativo" (*) .

(*) gracias a Apple por esto!



Tuve el mismo problema y ya probé todo lo propuesto aquí sin ningún éxito.

Ejecutar las pruebas en un simulador diferente resolvió el problema para mí. Después de eso, el simulador original tampoco causó fallas por más tiempo.


Wow, perdí mucho tiempo en esto, mi paquete de prueba tenía la "Aplicación de host" para mi aplicación seleccionada. Otros paquetes de prueba no lo hicieron.

Espero que esta solución no sea la solución adecuada para cada situación, pero mis pruebas fueron principalmente para probar la biblioteca dinámica y realmente no necesitaba una aplicación de host para ejecutarse. Estaba recibiendo el error anterior, desactivar esto me permitió ejecutar las pruebas sin obtener ese error y los puntos de interrupción funcionaron. Estaba ejecutando MacOS pero probablemente sea similar para otros entornos. Espero que esta solución no sea la solución adecuada para cada situación, pero mis pruebas fueron principalmente para probar la biblioteca dinámica y realmente no necesitaba una aplicación de host para ejecutarse.

En el paquete de prueba Vaya a General -> Pruebas -> Establezca "Aplicación de host" en Ninguno.


para mí el problema era el archivo Pod
Hice un nuevo objetivo, pero olvidé agregar objetivo en el archivo pod

target ''mobilesdkIntegrationTests'' do // write here any predefined pods if any, like testing_pods end

solo agregue el objetivo en el archivo pod solucionó el problema


I tried many different options but none helped me except below and wasted lot of time, posting this so that really help and save time on this: Follow all of the instructions for Full Manual Configuration https://github.com/appium/appium-xcuitest-driver/blob/master/docs/real-device-config.md#full-manual-configuration Tips When you come to the part where you are executing xcodebuild, if the build fails, and the log mentions "RoutingHTTPServer" or "YYCache", add these two frameworks on the Build Phases tab of the WebDriverAgentRunner target Open the WebDriverAgent.xcodeproj Select ''Targets'' -> ''WebDriverAgentRunner'' Open ''Build Phases'' -> ''Copy frameworks'' Click ''+'' -> add RoutingHTTPServer Click ''+'' -> add YYCache https://github.com/facebook/WebDriverAgent/issues/902#issuecomment-382344697 https://github.com/facebook/WebDriverAgent/issues/902#issuecomment-383362376 The build/test may also fail due to the WebDriverAgentRunner app/developer being untrusted on the device. Please trust the app and try again. While trying to access the WebDriverAgent server status, if it tries to connect on port 0, hardcode port 8100 in appium-xcuitest-driver/WebDriverAgent/WebDriverAgentLib/Routing/FBWebServer.m Original line: server.port = (UInt16)port; New line: server.port = 8100; https://github.com/facebook/WebDriverAgent/issues/661#issuecomment-338900334