PHP 项目写单元测试的多么?告诉我不是我一个人在 F5 刷新看结果 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
youyelan9527
V2EX    PHP

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

  •  
  •   youyelan9527 2020-05-15 14:35:36 +08:00 6684 次点击
    这是一个创建于 1976 天前的主题,其中的信息可能已经有所发展或是发生改变。
    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
    我一般商业项目(全职和兼职)都要写接口测试的,不写接口测试的话开发效率太低了。

    接口测试相当于雇了一个免费的员工每天帮你做测试,不写测试就等于这个活全要自己来。我哪有那么空自己测啊。
    h7u8L4wLZOyUkbYc
        23
    h7u8L4wLZOyUkbYc  
       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  
    PRO
       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     Solana     868 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 19:24 PVG 03:24 LAX 12:24 JFK 15:24
    Do have faith in what you're doing.
    ubao 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