J'utilise travis-ci pour le déploiement de mes projets open source. Sans changement dans mon code, depuis hier toutes mes builds ne parviennent pas à exécuter les tests unitaires avec l'erreur suivante:
language: node_js node_js: - node script: - yarn test
Ma configuration de build utilise le dernier nœud et exécute juste les tests
~/w/some-package â¯â¯â¯ yarn test yarn run v1.13.0 $ jest FAIL test/unit/lib/sometest.js â Test suite failed to run TypeError: Cannot assign to read only property 'Symbol(Symbol.toStringTag)' of object '#<process>' at _default (node_modules/jest-util/build/createProcessObject.js:85:34)
Y a-t-il eu des changements dans les dépendances des machines travis-ci? y a-t-il une compatibilité entre les versions de node et jest?
4 Réponses :
Cela semble être une incompatibilité entre le nœud 11.11.0
qui est la dernière version stable et les versions jest antérieures à 24.3.0
.
Il existe actuellement 2 solutions:
language: node_js node_js: - "10.15.3" script: - yarn test
yarn upgrade jest --latest
si vous utilisez npm et non yarn, vous pouvez utiliser la commande npm update jest
La mise à niveau vers jest 24.3.1
résout le problème tel qu'il a été corrigé dans la version 24.3.0.
La version antérieure à 24.3.x
est incompatible avec le node 11.11.0
.
J'ai essayé ceci https://github.com/facebook/jest / issues / 8069 # issuecomment-470930698 . Donc, mettez simplement à jour la version du package jest, supprimez les node_modules et package-lock.json, puis réinstallez toutes les dépendances.
Une autre possibilité est que vous ayez ajouté un nouveau service dans le constructeur mais que vous ayez oublié de l'ajouter dans le fichier de spécifications.
Je recommanderais de créer une maquette avec les méthodes dont vous avez besoin de ce service:
XXX
puis vous l'ajoutez en tant que fournisseur:
utilServiceSpy = TestBed.inject(UtilService);
et enfin l'injectez:
{ provide: UtilService, useValue: utilServiceMock},
(les 2 dernières étapes que vous pouvez mettre dans le déclencheur beforeEach )