Estoy usando
"cypress-firebase": "^2.0.0", "firebase-admin": "^9.11.1"
En mi archivo cypress command.js
:
import firebase from "firebase/app"; import "firebase/auth"; import "firebase/database"; import "firebase/firestore"; import { attachCustomCommands } from "cypress-firebase"; const fbConfig = { } firebase.initializeApp(fbConfig); attachCustomCommands({ Cypress, cy, firebase });
Cuando trato de ejecutar el código, me enfrento al siguiente problema:
Error de tecleado
El siguiente error se originó en su código de prueba, no en Cypress:
> No se puede leer la propiedad 'initializeApp' de undefined
En la versión 9 del SDK de Firebase, la superficie de la API cambió para usar un código modular que se puede sacudir en forma de árbol. Espere que casi toda la documentación o el código de ejemplo que vea se hayan escrito para v8 o versiones anteriores del SDK de Firebase que necesitan actualización.
Obtenga más información sobre la migración aquí .
Debido a que cypress-firebase
aún no se actualizó para admitir el SDK v9, debe importar el SDK de compatibilidad en su lugar. Tenga en cuenta que el SDK de compatibilidad está en desuso e idealmente debería encontrar un paquete que se haya actualizado para admitir v9.
import firebase from "firebase/compat/app"; import "firebase/compat/auth"; import "firebase/compat/database"; import "firebase/compat/firestore"; import { attachCustomCommands } from "cypress-firebase"; const fbConfig = { } firebase.initializeApp(fbConfig); attachCustomCommands({ Cypress, cy, firebase });