crimx / blog-comments

utterances🔮 comments on https://blog.crimx.com.
0 stars 0 forks source link

/2019/06/19/搭建-karma-mocha-chai-测试-typescript-项目/ #11

Open utterances-bot opened 4 years ago

utterances-bot commented 4 years ago

搭建 Karma+Mocha+Chai 测试 TypeScript 项目 | CRIMX BLOG

测试是软件开发中重要的一环,有了测试项目开发起来大脑负担减少,心里踏实,许多没想到的边界条件也能一一揪出。Karma+Mocha+Chai 是经过时间考验的经典测试组合,具有较高的灵活性,非常值得研究学习。本文将从零开始搭建,同时配合 TypeScript 进行测试。

https://blog.crimx.com/2019/06/19/%E6%90%AD%E5%BB%BA-karma-mocha-chai-%E6%B5%8B%E8%AF%95-typescript-%E9%A1%B9%E7%9B%AE/

devrsi0n commented 4 years ago

其实 jest 可以用 https://github.com/facebook-atom/jest-electron-runner 这个轮子跑真实浏览器环境,但 只支持 chromium,一般的单测应该是够了。

crimx commented 4 years ago

@devrsi0n 这个与 puppeteer 相比有什么优劣势?要跑真实环境很多时候是要测浏览器特性的东西,只有 chromium 不太够。

devrsi0n commented 4 years ago

Puppeteer 就是控制浏览器,主要用来写集成测试,jest-electron-runner 可以在浏览器环境里面运行单测。

liuyib commented 4 years ago

有些错误,npm install 没有 --dev 参数,应该是 npm install --save-devnpm install -D

crimx commented 4 years ago

@liuyib 感谢指正。从 yarn 复制过去没改好。

everlose commented 3 years ago

我这边照着搭,但是发现 src 源码里有 import ,运行起来会 'Module build failed (from ./node_modules/istanbul-instrumenter-loader/dist/cjs.js):

everlose commented 3 years ago

大哥,你能贴上你的 karma, karma-webpack,node ,ts-loader 的版本么,不胜感激。 看起来 karma-webpack 配合 webpack 5 翻译ts会爆很奇怪的错误,我看了很多 issue,但是没有帮助。

crimx commented 3 years ago

@everlose 我之前在这个项目中配过 https://github.com/crimx/get-selection-more

everlose commented 3 years ago

感谢楼主。提醒大家,webpack5 和 karma-webpack5 的配合太令人头痛了,它卡了我三天,找了很多 issue 都解决不了。建议都降版本。

npm install karma-webpack@4 webpack@4 ts-loader@7