Skip to content
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 的一点儿总结 #271

Closed
JimmyLv opened this issue Oct 30, 2017 · 1 comment
Closed

关于 Jest 的一点儿总结 #271

JimmyLv opened this issue Oct 30, 2017 · 1 comment

Comments

@JimmyLv
Copy link
Owner

JimmyLv commented Oct 30, 2017

项目纵向拆分

⓵ 定义目标和原则

⓶ 展望结果(OKRs)

⓷ 头脑风暴(发散)

⓸ 组织整理(收敛)

⓹ 明确「下一步行动」

Jest 最大的特点就是 "zero-configuration",并且自带 Runner、Mock、Stub、Coverages等一揽子解决方案。
但是就像 React vs Angular 一样,可能就缺失了某些灵活性,但是依然可以轻松配置从而支持第三方 assertion,比如依然可以用 chai,power-assert,chai-enzyme等等。

内置于 creat-react-app(3w+ star),新手如果用 CRA 就避不开用 jest,可以说是捆绑销售不得不用,不过出身豪门的工程化实践和开源做得非常好,ref:Building High-Quality JavaScript Tools

还有一个特点是 interactive watch 模式,命令行体验非常良好,跟 WebStorm(最新 EAP 版) 的配合使用更加舒服,比如说 diff 功能,以及直接跳到出错代码。

关于速度上,实测比 mocha 慢 20%(当然只是我们的项目,样本单一),也可能是 jsdom 的锅。在每个测试后面都显示了 test 运行时间,这点对优化测试速度/性能(比如说用 enzyme 的 shallow 还是 mount)很有帮助

关于 snapshot testing,项目上没用,但是个人也持保留意见,主要是现在的 community 没有更好的 visual testing 方案。不过结合 Storybook 可以使用Storyshots 自动生成 Snapshot Testing,成本几乎为 0。

如果是 adopt 就得考虑迁移成本,Jest 提供 jest-codemods 自动替换 mocha、ava 等其他框架的代码,这一点对开发体验也是加分。

综上,我们上回 Tech Radar 重点提了 Developer Experience,从这个角度来讲 Jest 做得非常好,值得推荐。

@JimmyLv JimmyLv changed the title 关于 Jest 的总结 关于 Jest 的一点儿总结 Nov 1, 2017
@JimmyLv
Copy link
Owner Author

JimmyLv commented Dec 28, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant