Tengo una biblioteca iOS con el administrador de paquetes Swift. Estoy tratando de ejecutar pruebas unitarias con swift test La razón por la que no estoy usando xcodebuild es que estoy tratando de eliminar .xcodeproj de mi control de código fuente. Además, hay una advertencia cuando creamos xcodeproj con spm, que generar-xcodeproj quedará obsoleto pronto. TL; DR Esta biblioteca depende de Lottie. Intenté simplemente ejecutar swift test en el directorio raíz, pero da muchos errores. como /.build/checkouts/lottie-ios/lottie-swift/src/Public/Animation/AnimationView.swift:859:11: error: no puedo encontrar 'superview' en el alcance que probé
swift test -Xswiftc "-sdk" -Xswiftc "`xcrun --sdk iphonesimulator --show-sdk-path`" -Xswiftc "-target" -Xswiftc "x86_64-apple-ios14.5-simulator" Luego da el error error: module 'XCTest' was created for incompatible target x86_64-apple-macos10.15 . No especifiqué macos10.15 en ninguna parte, estoy en macOS 11.5.1
Puedo construir el paquete usando el comando anterior reemplazando test con build . ¿Qué está mal con mi comando de prueba?
Según entiendo, esto se debe a que no estoy especificando el simulador de destino, ¿es posible especificar el simulador de destino con swift test ?
swift test solo funciona para las pruebas de macOS. No es compatible con compilaciones cruzadas para iOS.
No necesita un proyecto Xcode existente para usar xcodebuild . Ejecute el comando xcodebuild -list para inicializar un archivo Package.swift para realizar pruebas.
Vea el ejemplo aquí .