TypeError: cryptoObj.getRandomValues ​​no es una función; error no relacionado al usar broma

Un usuario Pregunto ✅

jonybekov

Tengo un proyecto en el que he usado powerbi-client en alguna parte de mi aplicación. Cuando trato de probar algunos otros componentes (que no usan powerbi-client) usando testing-library / react y ejecuto npm test obtengo TypeError: cryptoObj.getRandomValues ​​no es una función error. Antes de que me estuviera poniendo crypto_nonexistent error como se menciona en este problema y logró corregir este error agregando criptografía a bromas globales usando craco.

Aquí está mi configuración de broma

126031307-cfe65639-2d21-4d17-a3a6-9165bf660165

Seguimiento de la pila de errores:

TypeError: cryptoObj.getRandomValues is not a function

  12 |
  13 | import React, { useState, useEffect } from 'react';
> 14 | import { models, Embed, service } from 'powerbi-client';
     | ^
  15 | import { PowerBIEmbed } from 'powerbi-client-react';
  16 | import { appServices } from 'common/services';
  17 | import { useAccount, useMsal } from '@azure/msal-react';

  at Function.WindowPostMessageProxy.createRandomString (node_modules/powerbi-client/dist/webpack:/powerbi-client/node_modules/window-post-message-proxy/dist/windowPostMessageProxy.js:125:1)
  at new WindowPostMessageProxy (node_modules/powerbi-client/dist/webpack:/powerbi-client/node_modules/window-post-message-proxy/dist/windowPostMessageProxy.js:77:1)
  at wpmpFactory (node_modules/powerbi-client/dist/webpack:/powerbi-client/src/factories.ts:27:10)
  at new Service (node_modules/powerbi-client/dist/webpack:/powerbi-client/src/service.ts:160:17)
  at Object../src/powerbi-client.ts (node_modules/powerbi-client/dist/webpack:/powerbi-client/src/powerbi-client.ts:64:15)
  at __webpack_require__ (node_modules/powerbi-client/dist/webpack:/powerbi-client/webpack/bootstrap:19:1)
  at node_modules/powerbi-client/dist/webpack:/powerbi-client/webpack/bootstrap:83:1
  at node_modules/powerbi-client/dist/powerbi.js:100:10
  at webpackUniversalModuleDefinition (node_modules/powerbi-client/dist/webpack:/powerbi-client/webpack/universalModuleDefinition:3:1)
  at Object.<anonymous> (node_modules/powerbi-client/dist/webpack:/powerbi-client/webpack/universalModuleDefinition:10:2)
  at Object.<anonymous> (src/analytics/PowerBi/powerbi.tsx:14:1)
  at Object.<anonymous> (src/analytics/PowerBi/index.tsx:5:1)
  at Object.<anonymous> (src/main/App/App.tsx:18:1)
  at Object.<anonymous> (src/home/OfficesExplore/offices-explore.tsx:12:1)
  at Object.<anonymous> (src/home/OfficesExplore/index.tsx:1:1)
  at Object.<anonymous> (src/home/__tests__/offices-explore.test.tsx:3:1)

Comportamiento esperado

El comando de prueba Npm debería funcionar sin problemas porque el componente que estoy probando no depende de powerbi-client.

Hola @jonybekov,

Revise el contenido del siguiente hilo, espero que puedan ayudarlo a resolver el problema.

Al importar PowerBIEmbed en pruebas de broma, falla de inmediato con No se puede leer la propiedad ‘getRandomValu …

TypeError: no se puede leer la propiedad ‘getRandomValues’ de undefined para la prueba unitaria

Atentamente

Hola @jonybekov,

Revise el contenido del siguiente hilo, espero que puedan ayudarlo a resolver el problema.

Al importar PowerBIEmbed en pruebas de broma, falla de inmediato con No se puede leer la propiedad ‘getRandomValu …

TypeError: no se puede leer la propiedad ‘getRandomValues’ de undefined para la prueba unitaria

Atentamente

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *