V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
360
V2EX  ›  程序员

单元测试好处真有那么多吗,为啥我都感受不到,真可怕。

  •  
  •   360 · Sep 25, 2013 · 5439 views
    This topic created in 4599 days ago, the information mentioned may be changed or developed.
    php开发,刚刚看了phpunit
    我的理解:单元测试就是写测试代码检查 被测试的单元 的结果是否符合预期。

    我自己写完函数,一般都先测试下这个函数的输出是不是正确的。单元测试跟这个差不多吧。
    18 replies    1970-01-01 08:00:00 +08:00
    pengdu
        1
    pengdu  
       Sep 25, 2013   ❤️ 3
    等几个月以后,你要再修改这段代码,或者你修改一段已经离职的人的代码的时候,你就会感叹:有个单元测试多爽了。
    改完跑过单元测试,心里特别有底。
    maikcn
        2
    maikcn  
       Sep 25, 2013   ❤️ 2
    最大的好处是这个单元如果被修改了以后,通过跑测试就能发现是否会影响到原有的逻辑,是否和原来设计的预期保持一致
    georgetso
        3
    georgetso  
       Sep 25, 2013
    很早就知道TDD, 可是从来不用. assert用的多
    chenwl
        4
    chenwl  
       Sep 25, 2013
    你说的是开发调试手段,跟项目迭代维护的单元/集成测试 不一样咧
    shiny
        5
    shiny  
    PRO
       Sep 25, 2013
    想借 lz 的帖子问下,单元测试里涉及数据库增删改(这个倒可以用测试数据库来实现)、远程第三方 API 调用(只有线上 API)这类影响线上的操作应该如何写单元测试?
    polythene
        6
    polythene  
       Sep 25, 2013
    对我来说它最大的好处就是确保我的更改没有影响到之前的逻辑
    EchoFUN
        7
    EchoFUN  
       Sep 25, 2013
    因为代码还没有达到一定的规模哦,亲。
    typing
        8
    typing  
       Sep 25, 2013
    单元测试, 虽然叫test, 但我觉得更多意义在于specification.

    它在重构/移植方面的作用已经不言而喻.

    那如果你说不重构, 不移植呢?
    我觉得它强制你写代码方式: 使其可测.
    maikcn
        9
    maikcn  
       Sep 25, 2013   ❤️ 1
    @shiny 单元外的测试用mocking
    henter
        10
    henter  
       Sep 25, 2013
    节省手动测试时间,特别是频繁迭代时

    或者处理比较难手动测试的功能
    chloerei
        11
    chloerei  
       Sep 25, 2013   ❤️ 3
    如果一个地方值得调试两次,那么就值得写成测试。
    angelface
        12
    angelface  
       Sep 25, 2013
    单元测试可以有效提产品质量,
    happypy1
        13
    happypy1  
       Sep 25, 2013
    一楼二楼正解。
    davepkxxx
        14
    davepkxxx  
       Sep 25, 2013
    单元测试还能告诉我这段代码是干什么的,因为注释通常都说得不够详细。
    lincats
        15
    lincats  
       Sep 25, 2013
    单元测试也教你怎么用别人的代码,这个常常很有用。呵呵。
    lightening
        16
    lightening  
       Sep 25, 2013
    有时候改一个功能可能会影响到其他地方的功能。难道你每次改一个东西,都把整个项目所有角落都测试一遍吗?这个即使可能,也会耗费巨大的人力。
    meta
        17
    meta  
       Sep 25, 2013
    模块是要给别人用的,自己测试一下无法证明你的模块正确,要证明给别人看才行。
    firstway
        18
    firstway  
       Sep 26, 2013
    等楼主维护千级别甚至万级别代码,时不时的需要修bug,更严重的是该程序还是跑在商业服务器上,出问题往往意味着真金白银的时候,你改动一点点可能就要考虑半天,这时候你就有感觉了。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1055 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 57ms · UTC 22:41 · PVG 06:41 · LAX 15:41 · JFK 18:41
    ♥ Do have faith in what you're doing.