前端倒底怎么样才能够设置单元测试啊啊

2018-09-14 14:27:21 +08:00
 jiafaner

花了很长时间,终于把 webpack 和 babel 都配置起来了,可交差后还是被打了回来,说需要搭配一个可以在 cli 下面执行的单元测试框架

搜索了半天,尝试了 tape 等好几个,可没有一个能够正常跑起来,我搜索的姿势是不是不对?

有没有对应的教程,可以简洁地搭建一个 npm+webpack+babel+test 的环境啊?

2437 次点击
所在节点    程序员
9 条回复
Tonni
2018-09-14 14:51:50 +08:00
之前用过 Webdriver.IO ,这里还有之前的代码 - https://github.com/HouCoder/front-end-auto-testing

说实话前端测试在绝大多数公司很难推进,迭代迅速,测试跟不上。
maichael
2018-09-14 15:04:10 +08:00
jest,mocha,包括 tape 也是能搭建起来的,你的具体问题是什么。你的项目有没用其他框架?
jiafaner
2018-09-14 15:13:36 +08:00
@maichael 感谢回复

我现在的情况是这样的:

Boss 让我搞一套 webpack+babel+es6+eslint 的框架,我弄起来了,可以正常打包,正常 livereload

但现在 Boss 说我弄得不对,还缺一个单元测试工具

我找了 jest/mocha/tape,都能够执行基本的测试,可是 Boss 让我把项目弄成测试可以用 ES6 来写,我就不知道怎么弄了

我正在尝试 jest,可是怎么配置.babelrc 都不能够执行,mocha 已经放弃了,tape 有一个 babel-tape-runner,照着文档去安装以后,默认文档的安排就报错,在搜索的时候看到 Issue 里面发现别人也报了这个 Bug,说是版本问题,基本上也无解。
maichael
2018-09-14 15:20:35 +08:00
@jiafaner jest 的话你需要加一个 babel-jest 作为 transform。https://jestjs.io/docs/en/getting-started#using-babel
jiafaner
2018-09-14 15:40:29 +08:00
@maichael 感谢

我现在用上了,现在用 npm run test 是可以执行的。

我想再请教一下,

npm(package.js)
webpack
jest

这三者用什么样的搭配才是对的?

现在我配置的项目,就是参考网上的资料拼起来的,所以 live-reload, babel 都是配置在 webpack 里面的

现在新配置的 jest 不是用的 webpack,是用的 npm run test 就能运行了

这样对还是不对呢, 还有没有必要配置到 webpack 里面去运行,我太外行了,见笑了
maichael
2018-09-14 15:55:00 +08:00
@jiafaner jest 和 webpack 分开是对的。
jiafaner
2018-09-14 15:59:40 +08:00
@maichael 那没问题了,太感谢了
zoffy
2018-09-14 19:43:06 +08:00
前端真的不知道测什么,看到有 assert 某个 div 颜色的,到底有什么意义
narcotics
2018-09-15 11:14:49 +08:00
@zoffy 你那是端到端的测试,某些场景下也不见得没有意义

再说我不做前端也知道现在前端逻辑越来越重,单元测试很必要的好吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/489324

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX