你们公司会要求你写单元测试吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ben548
V2EX    Node.js

你们公司会要求你写单元测试吗?

  •  
  •   ben548 2015-12-20 17:58:23 +08:00 6525 次点击
    这是一个创建于 3587 天前的主题,其中的信息可能已经有所发展或是发生改变。

    就我就职过的几家公司而言,没有一家公司有硬性要求一定要写单元测试?

    24 条回复    2015-12-21 17:28:08 +08:00
    sivacohan
        1
    sivacohan  
    PRO
       2015-12-20 19:00:44 +08:00 via Android
    我的第一家公司强制要求。
    没有单元测试不能进 Git 。

    然后只要我在的 team ,必须要求写单元测试。
    至少正常流程可用。
    hbkdsm
        2
    hbkdsm  
       2015-12-20 19:15:05 +08:00
    @sivacohan 很好的公司,请问公司名字方便透露吗?
    sivacohan
        3
    sivacohan  
    PRO
       2015-12-20 19:33:20 +08:00 via Android
    @hbkdsm
    第一家公司团队已经解散了。
    目前我处于无业的状态。

    之前果壳是强制要求写单元测试的,具体现在什么情况不清楚了。
    公司内推行单元测试,需要公司有一个强有力的 CTO 。
    SourceMan
        4
    SourceMan  
       2015-12-20 19:40:00 +08:00 via iPhone
    要,虽然不会限制提交,但是被 review 之后要补
    elgoog1970
        5
    elgoog1970  
       2015-12-20 19:45:50 +08:00
    写单元测试是一个好习惯
    imom0
        6
    imom0  
       2015-12-20 19:46:08 +08:00 via iPhone
    3 楼那个,真是一个悲伤的故事。
    defage
        7
    defage  
       2015-12-20 20:01:03 +08:00
    特别偏业务的代码, 没写单元测试了。
    问我为什么?
    你猜。

    那种偏抽象点的, 通用的模块和功能,写。
    rannnn
        8
    rannnn  
       2015-12-20 20:05:18 +08:00
    我们公司没有 tester 全部靠 developer 写 automated test
    master branch 的 green build 每周直接 push 到 production , unit test 写不好就是直接 production 挂,后果非常严重,所以一般 1 天写码 3 天写 test 这样。。。
    chemzqm
        9
    chemzqm  
       2015-12-20 20:08:14 +08:00
    没测试的代码重构就是痴心妄想,只能加功能,做改进会越来越艰难
    unique
        10
    unique  
       2015-12-20 20:12:49 +08:00
    公司以前来了个人让写单元测试,最后那个人被辞了。。
    我以前发过一篇帖子谈测试代码的问题(当然他的离开不是因为这个,作为管理者存在的问题太多)
    jerray
        11
    jerray  
       2015-12-20 21:50:08 +08:00
    就职过的公司没有一家要求写单元测试( sad ),也没人写。就算有时候提起来说要加测试,也很难执行。
    现在在推,但执行力很低。有些人认为写测试代码就是负担,于是完全肉测……
    jiang42
        12
    jiang42  
       2015-12-20 21:56:16 +08:00 via iPhone
    我司 line coverage 100%
    cxq
        13
    cxq  
       2015-12-21 00:05:41 +08:00
    曾经想过再开发 app 的时候做单元测试, 也做过一定研究。 但是最后连自己都没有坚持下来。 更不用说再团队里实施了。
    mengzhuo
        14
    mengzhuo  
       2015-12-21 08:40:02 +08:00 via iPhone
    不要求 我要求团队内部写
    其实真的需要有人领头才行 对自己没要求的人太多了
    ben548
        15
    ben548  
    OP
       2015-12-21 09:42:59 +08:00
    弱弱的说一句,感觉我写的绝大多数代码根本没法写单元测试。。。一不小心暴露了学渣的本质
    ben548
        16
    ben548  
    OP
       2015-12-21 09:44:21 +08:00
    @sivacohan 你这个说法让人感觉写单元测试和公司倒闭有什么必然的联系似得(笑)
    ben548
        17
    ben548  
    OP
       2015-12-21 09:45:17 +08:00
    @unique 神马帖子,贴下地址,让大伙看看
    111111111111
        18
    111111111111  
       2015-12-21 09:50:03 +08:00
    没做要求

    底层的,公用的代码会写一下,偏业务的就不写了
    ben548
        19
    ben548  
    OP
       2015-12-21 09:55:07 +08:00
    个人感觉公用的类库写测试想对容易,业务代码要写测试就比较难了
    hitmanx
        20
    hitmanx  
       2015-12-21 13:04:55 +08:00
    上一家公司从底层库到上层业务逻辑都有单元测试,不过有两个前提:
    业务逻辑是按照国际规范标准来的,改动较小;
    开发周期较长,在排期的时候就是按照业务代码的 50%的时间用于安排写单元测试的,即如果写 30 天业务代码,就应该同时有额外 15 天的时间用于写单元测试代码的.

    所以最后提交时,同时提交的一堆报告里,是必须要包含覆盖率的,整体的覆盖率,和你所在模块的覆盖率的前后变化.
    haichong20
        21
    haichong20  
       2015-12-21 15:38:17 +08:00
    上家公司不强制写单元测试,但和 KPI 挂钩. 公司知道单元测试的重要性,但项目期间,没法强制要求.
    另外, 跟 UI 有关的业务逻辑代码不太会要求写 UT(因为操作 DOM 的类是自己写的,封装得很厉害,很难做 UT). 其他逻辑部分代码会写
    xuxanwan
        22
    xuxanwan  
       2015-12-21 15:48:42 +08:00
    [插楼]对单元测试感兴趣, 有木有资源分享推荐的~
    kk71
        23
    kk71  
       2015-12-21 16:41:47 +08:00
    每天上一个功能 哪有时间写 ut -_-#
    repus911
        24
    repus911  
       2015-12-21 17:28:08 +08:00
    @sivacohan 现在也在写
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1068 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 23:12 PVG 07:12 LAX 16:12 JFK 19:12
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86