Как использовать зависимости powerbi-client в приложении Angular, не нарушая шутливые тесты? - PullRequest
3 голосов
/ 25 февраля 2020

Моя цель - использовать powerbi-client в моем приложении Angular 9. Мой компонент PO C отлично работает, используя такую ​​библиотеку:

import * as pbi from 'powerbi-client'; // It's installad in package.json

Однако, когда я запускаю свои юнит-тесты с помощью jest, я получаю эту ошибку:

TypeError: Cannot read property 'getRandomValues' of undefined

It выглядит следующим образом: enter image description here

Любая помощь приветствуется ??‍♂️

Я попытался добавить библиотеку в разделе сценариев angular.json, но это не помогло:

"scripts": [
    "./node_modules/powerbi-client/dist/powerbi.min.js"
],

1 Ответ

0 голосов
/ 26 февраля 2020

Я испытал это и сегодня. В вашем файле setupTests или в любом другом месте, где Jest позволяет вам настроить тестовую конфигурацию, добавьте следующее:

const crypto = require('crypto')

Object.defineProperty(global.self, 'crypto', {
  value: {
    getRandomValues: arr => crypto.randomBytes(arr.length)
  }
})

Вы можете даже добавить это в свой тестовый файл, но не знаете, каков ваш проект. сконфигурировано. Надеюсь это поможет. (Поскольку вы используете .ts и angular, вам, возможно, также придется взломать некоторые типы для этого).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...