Recibo un error al probar con broma en mi código Javascript.
El error:
FAIL src/test/testPlaywright.test.jsx (5.779 s) × Creación de una instantánea de la interacción con el dramaturgo (149 ms)
● Creación de una instantánea de la interacción con el dramaturgo
browserType.launch: setImmediate is not defined 4 | for(const browserType of [chromium, firefox, webkit]){ 5 | console.log("Testing"); > 6 | const browser = await browserType.launch({headless: false}); | ^ 7 | const page = await browser.newPage(); 8 | await page.setDefaultNavigationTimeout(1000000); 9 | await page.goto('https://app.wien.gv.at/navigation/', { waitUntil: 'networkidle' }); at Object.<anonymous> (src/test/testPlaywright.test.jsx:6:43)Conjuntos de pruebas: 1 fallido, 1 en total Pruebas: 1 fallido, 1 en total Instantáneas: 0 en total Tiempo: 8,517 s Ejecutó todos los conjuntos de pruebas relacionados con los archivos modificados.
El código:
import { chromium, webkit, firefox } from "playwright"; test('Creating a Snapshot of interacting with playwright',async()=>{ for(const browserType of [chromium, firefox, webkit]){ console.log("Testing"); const browser = await browserType.launch({headless: false}); const page = await browser.newPage(); await page.setDefaultNavigationTimeout(1000000); await page.goto('https://app.wien.gv.at/navigation/', { waitUntil: 'networkidle' }); await page.click("(//mat-icon[text()='keyboard_arrow_down'])[1]") await page.click("#mat-select-0") await page.click('//span[@class="mat-option-text"][contains(.,"Veranstaltungszentrum")]') await page.click("//mat-icon[text()='keyboard_arrow_up']") await page.click("(//mat-icon[text()='keyboard_arrow_down'])[2]") await page.click("#mat-select-3") await page.click('//span[@class="mat-option-text"][contains(.,"Kapelle Krankenhaus Hietzing")]') await page.waitForTimeout(2000); await page.screenshot({path:'image-'+browserType.name()+'.png'}); await browser.close(); } })El problema es la función setImmediate.
Acabo de agregar polyfill.js en mi clase de prueba: import 'core-js'; después de eso, setImmediate se definió nuevamente y ahora funciona según lo previsto.
Sospecho que tu jest.config.js contiene
Entorno de prueba: 'jsdom'
puede intentar eliminar esta configuración o
entorno de prueba: 'nodo'
Espero que tengas buena suerte.
La solución que funcionó bien para mí, en un entorno react-native , fue la siguiente
yarn add -D core-jsjest.config.js , o el archivo de configuración configurado en el parámetro jest setupFiles la siguiente import import 'core-js';