-
Notifications
You must be signed in to change notification settings - Fork 114
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
致Cypress:前端 TDD 的正确姿势到底是怎么样的? #322
Comments
哼,你看你不跳槽都不怎么讨论 TDD 的… |
因为以前直接做就是了呀,哪有这么多bbb的…🤣 |
前端单元测试,真的很迷茫。 但是 前端花费过多时间在 Styling和 Build 配置上的状况也在改善中,CLI 之类的基础设施和开源 UI 库都在随着社区越变越好,借助 AntDesign Pro 就是个典型例子, 按照测试金字塔分层,这样的具体实践是比较合理的:
|
所以衍生出来的问题就是,为了更方便在前端做 TDD,基础设施一定要搭建完好。
|
E2E 级别做 TDD,我的理解和想尝试的点就在于: 前面谈论的是初写的时候,如果是修改代码,也分几个层级:
再者,我们如果用了antd这样的UI组件的话,那其实 Storybook 中的低维度组件需要自己真实去写的部分很少的,更多的是如何拼装出自己的业务UI组件(即UI+业务数据),而Snapshot快照的是 Antd组件集合+我们自己的theme就好。 我是特别想要试试,在项目上搞起来,感觉每个环节都有了反馈,大的小的,快的慢的。 |
重点研究一下 Cypress 并实践 ATDD。
是的呢
而且为什么需要测试呢?
我指的是 测那么多技术复杂度没有意义呀?
技术复杂度为什么要我们开发来测试呀?
比如说,REST API的测试,
少一个字段多一个字段,这种测起来有何意义?
为什么不能直接用直接让invoker来决定到底有多少字段
我就在想,有没有一种方式,让测试更有意义,测到该测的地方去。
而TDD也是一样的,对哪些内容该TDD,还是说所有东西都TDD呢?
还是Tasking+验证方式,最为关键。
至于验证方式,是不是UT,我觉得可以有更多讨论。
假如我们有秒级反应的CI作为流水线,
假如我们有秒级反应的AI作为“真实”用户,
那我每写完一行代码,立马CI构建出“真实”产品,然后AI帮我测完所有“真实”场景,然后给我一个反馈,是不是也很完美?
嗯,Spring帮我们autowried,凡是依赖都可以mock掉
但其实js里面所有import也可以mock掉,🤣
前端的反馈,我觉得还是不如搞个4屏吧
哈哈哈,设计稿、Chrome显示页面、IDE、Chrome DevTool
当然要呀,🤣
最好,devtool和file system连起来
试验CSS的时候可以直接save
CSS 阻碍了一切效率
尽管我优化查文档的效率可以达到秒级,但又有何用?还不是要查
看到一篇 e2e testing driven的文章
我觉得值得推荐下,Learn TDD in Vue | Learn TDD
The text was updated successfully, but these errors were encountered: