-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Jest Support #781
Comments
I think we should switch to Jest purely because it's out-of-the-box and a pretty good system, even if Ava is better overall. Standard is better than better in this case. EDIT: Now that I've used both a little more...I'm not so sure. Ava is awesome, Jest is okay. |
My case is really simple and superficial. I used jest before it got rewritten. It was horrible. And I wasted days on it. Now that it's better, I still cringe despite it not being the same codebase. AVA has never stopped being awesome. And simple. It was awesome day 1 and with 18 is even better. The assertions are simple. And I don't think about tests when when I'm writing with it. I'm thinking about my code. I vote we stay team AVA in our boilerplate and if people want Jest, it's not a huge departure for them to use it. Spork it... or if you really feel strongly, create a new boilerplate. |
I was thinking about making a We have had a few people come in to the channel and ask 'what about jest?'... Then I launch into this explanation about how jest can be used and installed with ignite and its really just a test runner, and etc, etc. Really love to be able to say just I am using jest in my project and am so far happy with it (maybe a day will come when I am not happy, but I will cross that bridge when I come to it) 🌉 This way, I think we keep everyone happy. Thoughts? |
I will happily write a JEST plugin at some point. Hold me to that. First I'll have to move AVA to a plugin... I would LOVE for anyone to do that before me. |
@GantMan This merits a larger discussion, but generally speaking, I don't think larger, cross-cutting things like testing should be in plugins. Too many separate things will generate tests, and writing all of them to generate the right kind of tests based on what plugins are installed will get problematic to both build and test adequately. If you use a Jest-powered boilerplate, use Jest. If you use an Ava-powered boilerplate, use Ava. We can fork boilerplates quickly to support each and they can diverge as necessary. My 2 cents. :) |
Because of the problems described in #691 with AVA, I'm giving a try to Jest and so far I'm loving it. Mainly for two reasons: speed and better integration & docs for RN. The main problem I had when using AVA is that many RN packages do not pre-compile code before publishing. To make it work I had to do some hacking with babel-register. This problem does exist in Jest too. However when I went to Jest docs for RN I found this: The fact they were explaining this problem in plain English right in their docs made my fall in love with Jest :) |
@GantMan Do you still intend to write this plugin? I think you and Steve convinced me this was a good idea offline. |
I think this is a boilerplate issue. Jest is installed by default. Our boilerplate skips jest during the react native install. If someone makes their own boilerplate, they get jest for free. Im onboard with us switching to jest even though my preference is for ava. It is the path of least resistance and certainly the popular choice these days. |
I agree with @GantMan, Ava and Jest should both be optional plugins. @jamonholmgren's point about tests in other plugins is problematic regardless if we make tests a boilerplate or plugin concern. |
Resolved in infinitered/ignite-andross#30. |
Jest looks to be the chosen one now. It ships with React Native.
My ❤️ is still with AVA, but out-of-the-box is a pretty friggin compelling argument.
Is this a plugin? An option? Does this belong in the
infinite-red
stack? How to we get ignite plugin authors to support both? Way too many questions.At the sound of the tone... please leave your opinion below.
beep.
The text was updated successfully, but these errors were encountered: