-
Notifications
You must be signed in to change notification settings - Fork 13.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
bug: jest + babel tests fail in Ionic 6 #24250
Comments
Thanks! This is a limitation in Jest with ES Modules. We will be noting this in the Ionic 6 migration guide, but for now please see #24026 (comment) for how you can get setup with this change now in your app. |
@liamdebeasi thank you for the link, however the test still fails after I add
I assume you got it working in your examples, so there must be a setting that I am missing. Any idea what it is (it is not just |
I found the missing settings that were causing the simple Jest test to fail with Ionic 6. You might want to consider expanding your "Ionic 6 migration guide" with extra notes to improve developers' migration experience. I captured all the changes that were required to move to a successful Ionic 6 Jest test in the following commit: There were three parts (I was missing no. 2 & 3):
|
Ah thank you! I will be sure to mention this. |
Thanks for the issue! This issue is being locked to prevent comments that are not relevant to the original issue. If this is still an issue with the latest version of Ionic, please create a new issue and ensure the template is fully filled out. |
Prerequisites
Ionic Framework Version
Current Behavior
I wrote a simple test that uses Jest, Babel and Ionic 5 (latest as of November 19, 2021, version 5.9.1):
https://github.com/milang/ionic-simplevitejs/blob/jest-ionic5/src/App.test.tsx
This test works without issues:
However, after upgrading to Ionic 6 (and strictly controlling the changes -- not touching anything else, i.e. with identical Jest, Jest-settings, Babel, Babel-settings, test itself), Jest suddenly starts failing with the following error:
https://github.com/milang/ionic-simplevitejs/tree/jest-ionic6
I tried different recommended approaches for getting ESM modules working with Jest, but all failed (and there is also the question of why does the current Jest/Babel configuration work fine with Ionic 5 package).
Expected Behavior
The test should continue working after upgrading to Ionic 6, or there should at least be guidance for how should Jest/Babel configuration be updated to continue running tests with Ionic 6.
Steps to Reproduce
Working version is in the
jest-ionic5
branch:Non-working, Ionic 6 (RC3) version is in the
jest-ionic6
branch. This branch adds a single commit that only changes Ionic version inpackage.json
(plus related lock-file and README changes), nothing else:Code Reproduction URL
https://github.com/milang/ionic-simplevitejs/tree/jest-ionic6
Ionic Info
No response
Additional Information
No response
The text was updated successfully, but these errors were encountered: