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

大家在开发的时候都会写单元测试吗?

  •  1
     
  •   pwstrick ·
    pwstrick · 2018-09-28 10:05:45 +08:00 · 11142 次点击
    这是一个创建于 2246 天前的主题,其中的信息可能已经有所发展或是发生改变。
    70 条回复    2018-09-29 16:52:40 +08:00
    sbw
        1
    sbw  
       2018-09-28 10:17:39 +08:00
    基本素养
    TommyLemon
        2
    TommyLemon  
       2018-09-28 10:35:57 +08:00   ❤️ 1
    APIJSONAuto 提供了自动化接口回归测试,测试接口一行代码都不用写。
    视频演示:
    i.youku.com/apijson
    在线体验:
    apijson.cn/

    创作不易,GitHub 右上角点 Star 支持下吧,谢谢 ^_^
    github.com/TommyLemon/APIJSONAuto
    TommyLemon
        3
    TommyLemon  
       2018-09-28 10:37:22 +08:00
    @TommyLemon
    APIJSONAuto 特点功能:
    自动生成文档,清晰可读永远最新
    自动生成请求代码,支持 Android 和 iOS
    自动生成 JavaBean 文件,一键下载
    自动管理与测试接口用例,一键共享
    自动校验与格式化 JSON,支持高亮和收展

    创作不易,GitHub 右上角点 Star 支持下吧,谢谢 ^_^
    captainjack
        4
    captainjack  
       2018-09-28 10:37:50 +08:00   ❤️ 1
    只要时间允许,当然要写
    dengtongcai
        5
    dengtongcai  
       2018-09-28 10:42:29 +08:00 via Android
    写的不多,但是还是要写啊,代码质量保证
    liuxu
        6
    liuxu  
       2018-09-28 10:46:32 +08:00
    初版会写,后来的更改有心情才会写
    zhangwugui
        7
    zhangwugui  
       2018-09-28 11:07:50 +08:00
    会写吧,起码要简单测下,能跑通;
    dubbo 接口的话,会 专门写一个微服务,专门用于测试;
    kx5d62Jn1J9MjoXP
        8
    kx5d62Jn1J9MjoXP  
       2018-09-28 11:08:44 +08:00
    不写
    kkaka
        9
    kkaka  
       2018-09-28 11:17:13 +08:00
    迭代太快的时候 维护一套测试代码压力也非常大
    anjuyiyu
        10
    anjuyiyu  
       2018-09-28 11:34:49 +08:00
    功能一天,单元测试半天。。
    geeti
        11
    geeti  
       2018-09-28 11:58:48 +08:00
    我们公司不写单元测试都过不了编译
    每次 commit 如果超过 10 行,测试覆盖需要 85%
    Raisu
        12
    Raisu  
       2018-09-28 12:31:15 +08:00   ❤️ 2
    整个公司只有我一个人写,写的时候还要被 diss。。。是不是早走比较好
    wildmelon
        13
    wildmelon  
       2018-09-28 12:33:29 +08:00
    移动开发会写吗
    MetoYou
        14
    MetoYou  
       2018-09-28 12:40:56 +08:00
    时间充裕的话都会写
    Justin13
        15
    Justin13  
       2018-09-28 12:55:28 +08:00 via Android
    不写,除非 code review 强制要求。
    WispZhan
        16
    WispZhan  
       2018-09-28 13:13:17 +08:00
    考试的时候,是先打草稿做验证,还是直接在卷子上撸题?

    写代码也一样
    doyouhaobaby
        17
    doyouhaobaby  
       2018-09-28 13:19:10 +08:00   ❤️ 1
    提高代码质量,微重构必须,梳理思路
    https://github.com/hunzhiwange/framework/tree/master/tests
    tt67wq
        18
    tt67wq  
       2018-09-28 13:22:12 +08:00   ❤️ 3
    写个鸡儿,业务都写不完,我还给你写白盒?
    写白盒加工资吗?
    写白盒的时间给加班费吗?

    重构??不存在的
    把东西都切分成能重写的体量,直接拉倒重写

    代码质量???
    我代码写的稀烂不照样拿工资,出了问题往死了撸测试就行了
    tachikomachann
        19
    tachikomachann  
       2018-09-28 13:29:31 +08:00 via Android
    当项目和团队不给你时间,大家就倾向于不写单元测试了
    d18
        20
    d18  
       2018-09-28 13:48:11 +08:00
    有时间会写,如果业务都只能在 deadline 之前写完,单元测试? Who care ?
    framehouse
        21
    framehouse  
       2018-09-28 13:50:13 +08:00
    会写,不过没有追求覆盖率
    thisisgpy
        22
    thisisgpy  
       2018-09-28 13:53:16 +08:00
    照着测试给的冒烟用例写
    20015jjw
        23
    20015jjw  
       2018-09-28 14:07:06 +08:00 via Android
    能写就写
    MaxTan
        24
    MaxTan  
       2018-09-28 14:26:35 +08:00
    写,主要是方便自己调试
    rockyou12
        25
    rockyou12  
       2018-09-28 14:32:05 +08:00
    要写,写了真的测试自己写的功能很方便,不用傻傻的去写 postman
    jinwyp
        26
    jinwyp  
       2018-09-28 14:45:54 +08:00   ❤️ 1
    单元测试是什么? 大公司有写的吗? 什么语言? java 吗?
    lrh3321
        27
    lrh3321  
       2018-09-28 14:50:32 +08:00
    基本素养 +1
    metrue
        28
    metrue  
       2018-09-28 15:11:45 +08:00
    基本素养.
    zhangalong69
        29
    zhangalong69  
       2018-09-28 15:49:38 +08:00
    从来不写,有接口测试工具,电脑本机项目不能运行起来,只有放到服务器上跑起来
    moresteam
        30
    moresteam  
       2018-09-28 15:50:06 +08:00 via Android
    不写
    linpf
        31
    linpf  
       2018-09-28 15:54:08 +08:00
    never 小公司,写 1 个模块单元测试的时间,够开发 2 个新模块了。
    frienmo
        32
    frienmo  
       2018-09-28 16:15:52 +08:00
    0 肯定写啊
    1 可以不接锅
    2 而且方便别人看代码,知道怎么用
    3 代码量看上去多
    zhanmaozi
        33
    zhanmaozi  
       2018-09-28 16:19:04 +08:00 via iPhone
    要写
    sheny
        34
    sheny  
       2018-09-28 16:38:59 +08:00
    寻思着能行,就不写了
    v2chou
        35
    v2chou  
       2018-09-28 16:40:28 +08:00
    前端开发会写吗
    lovelybear
        36
    lovelybear  
       2018-09-28 16:48:17 +08:00
    从来不写
    lovelybear
        37
    lovelybear  
       2018-09-28 16:48:37 +08:00
    除非发布开源库的话,会写
    zgpgzhangpeng
        38
    zgpgzhangpeng  
       2018-09-28 16:53:07 +08:00
    不写,优先搞定业务
    invzhi
        39
    invzhi  
       2018-09-28 18:17:06 +08:00
    写 我觉得这个收益大于付出
    asj
        40
    asj  
       2018-09-28 18:22:38 +08:00 via iPad   ❤️ 2
    我对开发人员应该写测试的一点思考,请多指教
    https://www.jianshu.com/p/e12bb46962f2
    boris1993
        41
    boris1993  
       2018-09-28 18:52:03 +08:00 via Android
    自己写着玩的东西会写
    公司的?“我们没有给写单元测试的工时”
    ShareDuck
        42
    ShareDuck  
       2018-09-28 20:42:05 +08:00 via Android
    不写不行啊,试过几次不写就出 bug 了,真是邪了。😂
    entimm
        43
    entimm  
       2018-09-28 21:07:38 +08:00 via Android
    如果几个人一起干,没有明显的责任,去你的写个啥测试,除了问题不是我的锅。
    如果模块划分明确,那还真的要写测试,因为指不定你忍不住想去优化些老代码,就不用指望测试能帮你測了,一劳永逸啊
    jimrok
        44
    jimrok  
       2018-09-28 22:02:31 +08:00
    一部分不写,一部分必须写。必须写的涉及交易,错了钱就没了,你跟我说可以不写?有多远滚多远。
    owt5008137
        45
    owt5008137  
       2018-09-28 22:09:17 +08:00 via Android
    scnace
        46
    scnace  
       2018-09-29 00:13:33 +08:00 via Android
    公司代码基本不写 自己的玩具因为没有人测试所以需要写
    taowen
        47
    taowen  
       2018-09-29 00:30:17 +08:00 via Android
    公司的代码没法写。自己的代码肯定要写。
    lsido
        48
    lsido  
       2018-09-29 00:40:21 +08:00 via Android
    😂单元测试是什么
    x7395759
        49
    x7395759  
       2018-09-29 01:26:26 +08:00
    开会的时候我会写
    msg7086
        50
    msg7086  
       2018-09-29 05:52:57 +08:00
    一般不写,主要写集成测试。
    pdog18
        51
    pdog18  
       2018-09-29 07:03:01 +08:00 via Android
    不知道 ui 效果要怎么写单元测试
    beginor
        52
    beginor  
       2018-09-29 08:05:21 +08:00 via Android
    今天这回复明显不符合 V2EX 的水平啊
    lj3lj3
        53
    lj3lj3  
       2018-09-29 08:09:13 +08:00
    对于上来要求让你一张表解决问题的公司 还会让写测试? 🤨
    limuyan44
        54
    limuyan44  
       2018-09-29 08:18:22 +08:00 via Android
    我的代码没有 bug,是你们用的姿势不对
    scarlex
        55
    scarlex  
       2018-09-29 08:34:19 +08:00
    写底层库的时候会,写业务相关的不会
    qa2080639
        56
    qa2080639  
       2018-09-29 08:43:32 +08:00
    前端要写吗, 我都是手动测 感觉自动化的测不出来
    janxin
        57
    janxin  
       2018-09-29 08:45:52 +08:00   ❤️ 1
    @beginor 这才是真实水平 XD
    Aprilming
        58
    Aprilming  
       2018-09-29 08:55:14 +08:00
    没写过,小公司,需求写完自己测测没问题就提交上去,有问题就等测试提 bug。
    zhangyichent
        59
    zhangyichent  
       2018-09-29 09:22:48 +08:00
    以前肯定要写。。不止单元测试用例,还有功能测试用例,系统测试用例。。。。现在在小公司,就写写 python 脚本。。好像用不着写了
    zpf124
        60
    zpf124  
       2018-09-29 09:24:45 +08:00
    大公司的下属小部门,没有人带,如何写单元测试都不知道...
    tengqingshan
        61
    tengqingshan  
       2018-09-29 09:48:08 +08:00
    不写单测怎么敢上线?不怕出线上 bug 么
    zongren
        62
    zongren  
       2018-09-29 09:52:36 +08:00
    我觉得很有用,所以会写
    另外 2 楼所谓接口测试跟单元测试没有关系
    另外测出 bug 后要添加对应的单元测试覆盖这个 bug
    followyourheart
        63
    followyourheart  
       2018-09-29 09:52:37 +08:00
    以前不会 现在会
    houshengzi
        64
    houshengzi  
       2018-09-29 09:52:47 +08:00
    大公司的下属小部门,没有人带,如何写单元测试都不知道... +1

    并且架构很乱,想写也无从下手
    jiangbingo
        65
    jiangbingo  
       2018-09-29 10:17:22 +08:00
    大厂 coding 都有 TDD 的惯例。第一次接触 DOJO 训练的时候惊奇了很一阵子。
    cstj0505
        66
    cstj0505  
       2018-09-29 10:28:26 +08:00
    @beginor 打嘴仗,吹那个语言框架厉害的时候一看 V2EX 个个都是大牛。
    但问道这种基本素养,一副我最牛逼,我干嘛要这么做,信我就好。
    估计也是国内圈子的氛围。
    hnyoumfk
        67
    hnyoumfk  
       2018-09-29 10:37:47 +08:00
    曾经试着记录自己在开发和改 bug 所花费的时间,后来发现写单元测试之后明显减少修改 bug 的时间(目前开发后端),总的时间算起来基本一样,所以觉得写测试并不亏。
    不过之前写 Android 的时候,觉得写界面相关的测试实在是反人类以及难以跟着迭代维护。
    所以,具体还是看项目啦,只要时间花费值得
    smilepig
        68
    smilepig  
       2018-09-29 10:41:30 +08:00
    会写 mapper 测试和接口测试
    fundebug
        69
    fundebug  
       2018-09-29 14:54:57 +08:00   ❤️ 1
    单元测试还是很有必要的,建议多写:

    - 验证代码的正确性
    - 验证边界条件
    - 避免 BUG 复现
    - 避免修改代码时出错
    - 避免其他团队成员修改代码时出错
    - 便于自动化测试与部署

    https://blog.fundebug.com/2017/12/20/rethinking-unit-test/
    aaron61
        70
    aaron61  
       2018-09-29 16:52:40 +08:00 via Android
    写作业的时候写
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5729 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 01:51 · PVG 09:51 · LAX 17:51 · JFK 20:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.