-
-
Notifications
You must be signed in to change notification settings - Fork 6.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
Ship Jest Circus #6295
Comments
i volunteer to update jest in www :) |
If anybody wanna test on React, I migrated to jest 23 here: facebook/react#12894. It still uses jasmine spies for |
i'll play with codemods in www today. it won't be perfect, but i hope ti'll get us at least 70% there |
We have a large (just over 9000 tests), and a few moderately sized (a few hundred tests) codebases internally at Wave and we would love to help test some of the Jest Circus functionality to provide feedback, etc. Are there docs for testing Jest Circus, or is it as simple as installing |
Awesome!
Jest@23 has it all, no need for a beta 🙂 |
@SimenB awesome, thanks. Just to help out any future people who want to give this a shot, I had to:
It seems that specifying No other files import |
@aaronabramov ^ seems like a bug, no? |
that was intentional! so we could @nickpresta let me know if it works for you! i also wrote a bunch of codemods in |
Running 4715 tests with 💯 After two minor changes, all test pass! 💯 Important notes:
I can't share the code I'm testing, but I'm happy to keep trying things. |
@dylang this is awesome!! the timeouts are strange. I've seen it before as well, my guess that it's coming from a global unhandled error somewhere that break other tests in the same test worker (unfortunately we don't have perfect isolation) |
I just enabled jest-circus in Lerna. Only had to replace a couple references to |
That's so awesome! |
I saw "jest circus" referenced in #2713 (comment) - should it have a readme? have to do some digging to discover that it's a "jest-jasmine" thing. |
A readme for jest-circus is a great idea |
@rattrayalex-stripe README added here: #7198 |
@captbaritone have we done this?
I installed jest-jasmine2 and set the |
@rickhanlonii I think that's always worked - the default value today that's resolved is |
Is this something that's still in progress? It's been a while since the last update, but it's the only recommended solution for #2713 |
It's pretty much shipped - FB uses it for everything. We just need to flip the default |
That's great to hear! What's the currently recommended way to use it? I've seen references to a config file and to an env var. |
The current way we use it is to set the
|
@G-Rath Thanks for the heads up! Yep, IntelliJ Jest integration uses a Jasmine reporter to get access to more fine-grained events about tests execution. For example, this allows to have "Click to see difference" link that shows a diff dialog for expected/actual values for failed assertions. I hope that Jest reporters API (
Unfortunately, that doesn't seem to be the case according to https://github.com/facebook/jest/blob/master/packages/jest-circus and https://github.com/facebook/jest/blob/master/packages/jest-types/src/Circus.ts - |
@segrey thanks for the quick & detailed response - I'm keen to get the gap between I'll post a kick-off comment on #8840 to try and scope out how much work it requires, and hopefully with a bit of guidance from @SimenB (or similar peoples that know the reporters side of jest in decent detail) I should be able to tackle at least some of it.
I can't find where I read that, and it was at least half a year ago, so I'm thinking I probably misunderstood the original posting. Just to make sure I'm understanding:
Is that the only primary thing that's missing for you right now, or is there more? (don't expect a full list, but just trying to scope out how big the gap actually is right now). It'll probably be worth tracking this via a separate issue, depending on what @SimenB thinks. In the meantime I'll have a dig around |
Also, I stumbled upon adding a custom |
No official way (without private imports from |
Wanted to share that running with |
Memory leak in circus was fixed yesterday and released in 25.5.3. I'm thinking we're finally ready to switch defaults on next major |
(And in general, for majors to come, we should always go through the milestone and explicitly reschedule things to a later major before commiting to the release (which we've kinda neglected for 25) to make sure there's nothing essential from the milestone missing |
I would love to have #8604 before the announcement. |
We'll ship it as default in 27 instead of 26, but say we're going to do so in the blog post so people start moving. Not sure if it warrants migration guide or not - as long as you use only the publicly documented API (aka, no Jasmine stuff) then it should be a drop-in replacement (modulo #8360 which we should fix) |
@SimenB |
No timeline currently, but I'd guess a few months out. You can use it today though, you don't have to wait for this issue. Instructions for how to set it up are in its readme: https://github.com/facebook/jest/blob/master/packages/jest-circus/README.md Any feedback would be appreciated so we can make it as solid as possible before releasing it to everybody 🙂 |
Jest 20 was released almost exactly 3 years ago (2017-05-06), Jest 26 very recently (2020-05-04). So in the last three years there has been an average of one major release every 6 months. Based on that (not on any knowledge I may have as a contributor) I would expect the Jest 27 release to be around November 2020. |
I'd like to release more often than every 6 months if we have breaking changes that we think will improve user experience or make maintenance of Jest itself easier, such as the changes we made in Jest 26 and have scheduled for Jest 27. IMO it went too long between Jest 24 and 25 (4 days off a full year). But upgrading majors is not free for people, so we shouldn't drop a new major every other month either. |
🎉 2.5 years to the day 😛 |
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
Here is my memory of the tasks that lay ahead of us in order to roll out Jest Circus. Feel free to add anything that I'm missing.
JEST_CIRCUS=1
jest-circus
feature parity withjest-jasmine
#4362JEST_CURCUS=1
on a few large code bases. Resolve all issues and add regression tests.testRunner: 'jest-jasmine2
)jest-jasmine
custom runner if they need to.JEST_CIRCUS
environment variable and theSkipOnJestCircus
helper class.The text was updated successfully, but these errors were encountered: