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

PHP 项目写单元测试的多么?告诉我不是我一个人在 F5 刷新看结果

  •  
  •   youyelan9527 · 2020-05-15 14:35:36 +08:00 · 5906 次点击
    这是一个创建于 1413 天前的主题,其中的信息可能已经有所发展或是发生改变。
    somalia
        1
    somalia  
       2020-05-15 15:36:22 +08:00   ❤️ 1
    php 不就应该直接 var_dump 吗
    00chang
        2
    00chang  
       2020-05-15 15:37:14 +08:00
    你不是人
    FantaMole
        3
    FantaMole  
       2020-05-15 15:37:32 +08:00
    你不是人
    neoblackcap
        4
    neoblackcap  
       2020-05-15 15:37:46 +08:00
    单元测试有当然是好,但是如果你这个需求是整天变化的,交付比你写测试重要的话,写测试就没有那么必要了。甚至线上崩溃都没有那么必要。twitter 最开始也整天 500 。
    当然我不是鼓吹不写测试,知识说看情况,了解你们的产品到底是面向什么用户的。银行类系统当然要测试嘛
    askfilm
        5
    askfilm  
       2020-05-15 15:39:53 +08:00
    有, 非常少. 不过用其他语言项目写单元测试的比例也高不了多少
    zoharSoul
        6
    zoharSoul  
       2020-05-15 15:41:39 +08:00
    @askfilm java 的还挺多的..
    因为单元测试比跑起来再测试简单....
    han8gui
        7
    han8gui  
       2020-05-15 17:00:49 +08:00
    看团队,应该是不多的
    CabbSir
        8
    CabbSir  
       2020-05-15 17:07:05 +08:00
    var_dump();
    pmispig
        9
    pmispig  
       2020-05-15 17:08:10 +08:00
    写单元测试的 php 还能算快速开发吗,哈哈哈哈
    richangfan
        10
    richangfan  
       2020-05-15 17:09:49 +08:00 via Android
    是的,你是一个人。postman 不用 F5 刷新
    ZoR
        11
    ZoR  
       2020-05-15 17:10:06 +08:00
    这跟什么语言开发的有关系吗?
    ztxcccc
        12
    ztxcccc  
       2020-05-15 17:39:18 +08:00
    var_dump 和写不写单元测试是两码事
    mitu9527
        13
    mitu9527  
       2020-05-15 17:59:02 +08:00
    国内这种大环境下,啥语言都差不多,Java 可能会比较高一些,但是恐怕比其他语言也高不了多少,主要还是看团队的管理层如何决定。
    mitu9527
        14
    mitu9527  
       2020-05-15 18:02:09 +08:00
    @pmispig 纠正一下,“单元测试和重构会降低开发速度”是典型的错误理解,你去了解一下就明白了,希望能对你有所帮助。
    respect11
        15
    respect11  
       2020-05-15 18:03:16 +08:00
    php 坚决不写,不要忘了用 php 两天上线的初心
    ibugeek
        16
    ibugeek  
       2020-05-15 18:04:16 +08:00
    看项目,laravel 项目的话,api 接口我会写,测试起来方便多了,不会有脏数据。
    pmispig
        17
    pmispig  
       2020-05-15 18:11:02 +08:00
    @mitu9527 在国内项目进度和开发速度是 2 回事啦,先上线再修 bug
    CodeCodeStudy
        18
    CodeCodeStudy  
       2020-05-15 18:13:16 +08:00
    写不写看领导要求。

    领导不要求的话,业务简单的不写,复杂的可能会写,不过写了也是自己保存起来,不会提交。
    z5864703
        19
    z5864703  
       2020-05-15 18:25:21 +08:00
    我这边是要求团队必须写接口测试和单元测试,前期可以写的不是很好,但是要有这个意识,逐步改进。
    写了测试和没写测试用例对于业务开发或调整重构影响真的比较大
    sagaxu
        20
    sagaxu  
       2020-05-15 18:49:31 +08:00 via Android
    phper 的开发效率,不正是源于写一行 F5 一下看结果吗?写 ut 岂不是跟 Java 一样慢了。
    feiffy
        21
    feiffy  
       2020-05-15 19:31:53 +08:00 via Android
    差不多,只不过我每次用 postman 看接口结果
    msg7086
        22
    msg7086  
       2020-05-15 19:35:22 +08:00 via Android   ❤️ 1
    我一般商业项目(全职和兼职)都要写接口测试的,不写接口测试的话开发效率太低了。

    接口测试相当于雇了一个免费的员工每天帮你做测试,不写测试就等于这个活全要自己来。我哪有那么空自己测啊。
    qiaoweizhen
        23
    qiaoweizhen  
       2020-05-15 20:05:04 +08:00   ❤️ 1
    底层服务接口、composer 包会写,业务接口不写,今天写,明天就会变。
    lookas2001
        24
    lookas2001  
       2020-05-15 20:09:04 +08:00
    单元测试改完代码跑一边测试就能保证不会引入新 bug,不爽吗?
    Erroad
        25
    Erroad  
       2020-05-15 20:09:51 +08:00
    23 楼+1,顺便说一下,我很多接口都不是给 web 端写的,而且一般参数都很复杂,一般写写小脚本,调用封的好的函数看下输出是否符合预期
    ben1024
        26
    ben1024  
       2020-05-15 20:29:24 +08:00
    单元测试看时间,基本断言还是要的,避免改动对应用影响太大
    wangyzj
        27
    wangyzj  
       2020-05-15 20:31:30 +08:00
    var_dump
    sfree2005
        28
    sfree2005  
       2020-05-15 20:33:43 +08:00
    Laravel 会根据网站设计写 API 的时候 TDD,感觉这比较符合逻辑。你知道要有什么输入和输出才能去写怎么实现。
    hantsy
        29
    hantsy  
       2020-05-15 20:57:03 +08:00
    成熟的框架写测试也容易,Laravel/Lumen,Symfony 等。
    dvaknheo
        30
    dvaknheo  
       2020-05-15 21:03:44 +08:00
    写业务来不及写。清理测试还折腾。虽然提炼出业务层后,内部测试方便多了。
    不过写 DuckPhp 框架的时候,我做了 100% 覆盖测试。
    覆盖测试比单元测试有意义吧。
    iplayio2019
        31
    iplayio2019  
       2020-05-15 21:06:48 +08:00
    有时间你就写。
    qce7
        32
    qce7  
       2020-05-15 21:15:23 +08:00
    业务复杂或十分重要的就会写,我写测试用例及单元测试的时间一般是开发时间的 3 倍,能够把后边手工测试的时间省出来才划算
    PHP 毕竟弱类型语言,就算在 7.4 后类型提示已经比以前强很多了,没有编译过程运行的时候才抛出异常,有一些可以自动测试的代码还是对服务可靠性提升不少的
    Michaelssss
        33
    Michaelssss  
       2020-05-15 21:21:33 +08:00 via Android
    php 的正确用法就是 F5 刷新啊…解释型语言优势优势马上看到结果
    dcsite
        34
    dcsite  
       2020-05-15 21:46:32 +08:00
    写不写单元测试,要看工期足不足。

    如果你们是几十人开发一个项目,每个人一年就负责一个功能模块,那么测试和文档代码规范都要标准化。

    如果只有一个人写个一个月后就要上线的项目,只能祈祷上线时间不要延后太久。
    cabing
        35
    cabing  
       2020-05-15 21:47:16 +08:00
    单侧其实性价比很高,适合所有语言。
    realpg
        36
    realpg  
       2020-05-15 22:10:35 +08:00
    @dcsite #34
    一个人都是写今天下班前就要上线的项目……
    honkki
        37
    honkki  
       2020-05-15 22:29:17 +08:00
    复杂的服务类会写
    donieleigh
        38
    donieleigh  
       2020-05-18 11:21:31 +08:00
    如果一个人对质量和效率有很高的要求,同时团队协作中又有很多不专业的上游,就会体会到单元测试的价值,不仅仅是个质量工具,更是个效率工具。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3318 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 13:45 · PVG 21:45 · LAX 06:45 · JFK 09:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.