V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jiafaner
V2EX  ›  程序员

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

  •  
  •   jiafaner · 2018-09-14 14:27:21 +08:00 · 2442 次点击
    这是一个创建于 2244 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    9 条回复    2018-09-15 11:14:49 +08:00
    Tonni
        1
    Tonni  
       2018-09-14 14:51:50 +08:00   ❤️ 1
    之前用过 Webdriver.IO ,这里还有之前的代码 - https://github.com/HouCoder/front-end-auto-testing

    说实话前端测试在绝大多数公司很难推进,迭代迅速,测试跟不上。
    maichael
        2
    maichael  
       2018-09-14 15:04:10 +08:00   ❤️ 1
    jest,mocha,包括 tape 也是能搭建起来的,你的具体问题是什么。你的项目有没用其他框架?
    jiafaner
        3
    jiafaner  
    OP
       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
        4
    maichael  
       2018-09-14 15:20:35 +08:00
    @jiafaner jest 的话你需要加一个 babel-jest 作为 transform。https://jestjs.io/docs/en/getting-started#using-babel
    jiafaner
        5
    jiafaner  
    OP
       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
        6
    maichael  
       2018-09-14 15:55:00 +08:00
    @jiafaner jest 和 webpack 分开是对的。
    jiafaner
        7
    jiafaner  
    OP
       2018-09-14 15:59:40 +08:00
    @maichael 那没问题了,太感谢了
    zoffy
        8
    zoffy  
       2018-09-14 19:43:06 +08:00
    前端真的不知道测什么,看到有 assert 某个 div 颜色的,到底有什么意义
    narcotics
        9
    narcotics  
       2018-09-15 11:14:49 +08:00 via Android
    @zoffy 你那是端到端的测试,某些场景下也不见得没有意义

    再说我不做前端也知道现在前端逻辑越来越重,单元测试很必要的好吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3193 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 12:26 · PVG 20:26 · LAX 04:26 · JFK 07:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.