Comments (9)
I'm trying to find a way to repro this, but it's pretty tricky since I don't have access to a sizeable coffeescript codebase...
When I set up a very basic scenario it doesn't seem to cause any observable speed issues when I add another it
spec: https://gist.github.com/jeffmo/f9db99b6c197327a30a7
Here's 3 runs of the test with 2 specs: https://gist.github.com/jeffmo/37220916b440d20a465a
Here's 3 runs of the test with 1 spec: https://gist.github.com/jeffmo/2e80968193c89a8a9e97
It would be good if we could narrow this down to where the time is spent. Any chance you could either point me somewhere where I might be able to repro this or try digging in to see if you could narrow it down?
from jest.
I'm getting this issue with my repo here:
https://github.com/feifanzhou/Tunetap-demo/
Test file in /app/assets/javascripts/harness/tests/fan-root-test.coffee
package.json and node_modules in project root
from jest.
Ok, after a little investigation it seems the bulk of the time for each it
spec is spent in your beforeEach
. And, in there, it seems the majority of the time is spent running require('react/addons)
I'm still digging in to what's taking so much time in there, but the gist of the problem here seems to be that every it()
has to re-require('react/addons')
from jest.
I tried moving the require()
out into the top-level (so it doesn't have to run each time), but that seems to break stuff (I'm guessing there's some state in the module that needs to be reset between tests somehow)
from jest.
The easiest solution here would be to identify what the shared state is and just find a way to reset it in the beforeEach
(rather than re-requiring the whole module).
It seems, however, that if you isolate the react/addons
module (even just in raw node...no jest or anything) it takes about 130-150ms just to require()
(!?!?) -- so maybe there's something someone can do over on the React side of things to make that module faster
from jest.
Going to go ahead and close this issue out because I'm not sure there's anything to be done from the Jest side of things
from jest.
(Possibly related to facebook/react#812, but I'm guessing a different issue.)
from jest.
Hmm alright, thanks for check it out Jeff. Out of curiosity, what do you use to check the runtime of the scripts?
from jest.
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.
Please note this issue tracker is not a help forum. We recommend using StackOverflow or our discord channel for questions.
from jest.
Related Issues (20)
- [Bug]: `URLSearchParams#get(k, v)` is not implemented and uses `URLSearchParams#get(k)` instead HOT 1
- [Bug]: Unable to get Lit + Jest + Typescript + SWC Jest to work properly HOT 1
- [Bug]: When WorkerThreads are enabled the Jest fails to collect test coverage from untested files HOT 3
- [Bug]: `[email protected]` is pulling older jsdom v20 HOT 2
- [Bug]: Getting the compile time error
- [Bug]: Can't configure Jest to find tests under a `node_modules` directory HOT 2
- [Bug]: Errors thrown in setTimeout callback are not caught by test.failing HOT 1
- [Feature]: Print all `Error` properties instead of only `.stack` and `.cause` HOT 1
- [Bug]: required inputs in Angular afterNextRender hook throws an error in jest
- EMFILE: too many open files jest tests on github linux pipeline HOT 1
- [Bug]: EMFILE: too many open files jest tests on github linux pipeline HOT 3
- [Feature]: Auto mock class / object
- [Feature]: Dynamic hook (afterThis) to enable clean-up during test HOT 2
- [Bug]: 'node' entry in package.json exports is not respected HOT 4
- [Feature]: jest could detect some errors it is currently silencing when using `jsdom` environment
- [Bug]: coverageThreshold for single path is not working
- [Docs]: Egghead.io link on snapshot testing docs page is broken
- [Bug]: Jest duplicates modules imported in both global setup/teardown and code under test
- [Bug]: jest-util is missing a dependency on jest-regex-util (and error is misleading) HOT 2
- [Docs]: Links to older versions of docs are broken
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jest.