Acceder al proveedor Firebase PhoneAuth en la clase XCTest de Xcode.
Estoy tratando de acceder al delegado de autenticación telefónica de Firebase en la clase XCTest.
Código:
func testVerifyCorrectPhoneNumber(){
FirebaseAuth.PhoneAuthProvider.verifyPhoneNumber("verificationPhone", uiDelegate: nil) { verificationID, error in
XCTAssert((verificationID != nil) == false)
}
}
Error:
El miembro de instancia ‘verifyPhoneNumber’ no se puede utilizar en el tipo ‘PhoneAuthProvider’; ¿Quizás querías usar un valor de este tipo en su lugar?
Captura de pantalla:
¿Alguien puede explicarme cómo acceder al delegado de autenticación telefónica de Firebase en la clase XCTest? He intentado con el código anterior pero aún no obtengo resultados.
Cualquier ayuda sería muy apreciada.
Gracias de antemano.
davy.ai
Basándonos en el mensaje de error capturado en la captura de pantalla, parece que el problema se debe a intentar llamar un método de instancia llamado
verifyPhoneNumber
directamente en el tipoPhoneAuthProvider
, en lugar de hacerlo en una instancia de dicho tipo.Para acceder al delegado de autenticación de teléfonos de Firebase en la clase XCTest, puede intentar crear primero un objeto
PhoneAuthProvider
y luego llamar el métodoverifyPhoneNumber
en esa instancia.Aquí hay un ejemplo que muestra cómo puede configurar el flujo de autenticación para la verificación de números de teléfono en un caso de prueba XCTest:
En este ejemplo, primero creamos una instancia de la clase
PhoneAuthProvider
utilizando el métodoprovider ()
. Luego, usamos esta instancia para llamar al métodoverifyPhoneNumber
, pasando el número de teléfono a verificar y un valornil
para el parámetrouiDelegate
(ya que no necesitamos ninguna interacción de UI para este caso de prueba).Dentro del cierre pasado a
verifyPhoneNumber
, usamos el métodoXCTAssertNotNil
para verificar que recibimos un ID de verificación válido del servicio Firebase.Tenga en cuenta que este es solo un ejemplo y puede ser adaptado a su caso de uso específico. ¡Espero que esto ayude!