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

开源项目需要单元测试吗

  •  
  •   matrix1010 ·
    Yiling-J · 2023-03-09 11:59:51 +08:00 · 2210 次点击
    这是一个创建于 636 天前的主题,其中的信息可能已经有所发展或是发生改变。

    昨天有个关于单元测试的帖子 ( https://v2ex.com/t/922133) 提到基于开源的小公司可能做的比较好, 我挺感兴趣于是搜了搜国内比较火的小公司开源项目。但至少我看的这几个 PR 似乎都没有任何单元测试 /集成测试:

    bytebase: https://github.com/bytebase/bytebase/pull/5007

    zadig: https://github.com/koderover/zadig/pull/2366

    rath: https://github.com/Kanaries/Rath/pull/292

    这是不是说明公司级别的开源项目其实不需要单元测试,有 QA 来保障没问题就行

    12 条回复    2023-03-10 08:38:41 +08:00
    Chad0000
        1
    Chad0000  
       2023-03-09 12:01:39 +08:00
    开源只是把代码开放而已,just as it is. 你怎么做都成。
    lianyue
        2
    lianyue  
       2023-03-09 12:08:51 +08:00
    如果 写单元测试方便就写 不方便些毛..
    但是文档和演示基本上都要写要不然根本没人用

    https://github.com/lian-yue/vue-upload-component
    我就没写单元测试
    ksc010
        3
    ksc010  
       2023-03-09 12:15:01 +08:00
    单元测试 有一个很大的好处是能极大的降低你升级第三方库 /框架的风险
    learningman
        4
    learningman  
       2023-03-09 12:47:17 +08:00 via Android
    单测写的详细也方便别的贡献者,你 review 也方便
    Huelse
        5
    Huelse  
       2023-03-09 12:51:48 +08:00
    文档最重要,别的都往后排
    dayeye2006199
        6
    dayeye2006199  
       2023-03-09 13:33:03 +08:00 via Android   ❤️ 6
    没测试和流水线的开源项目,基本告诉别人,你别来贡献了,这个东西只有我自己能玩儿起来
    matrix1010
        7
    matrix1010  
    OP
       2023-03-09 13:34:44 +08:00
    @dayeye2006199 很有道理
    dream4ever
        8
    dream4ever  
       2023-03-09 14:46:44 +08:00
    @ksc010 的确如此,用 Express.js 写的后端项目,GitHub 报了不少库的安全风险了,而且各种库也在不断推出新版本,没有完善的测试随便升级库的版本就很容易出事,之前就遇到升级 axios 到最新版结果 API 有变化的情况了,debug 了好半天才发现是 axios 的原因,如果有测试,就可以第一时间发现这种问题了。
    artnowben
        9
    artnowben  
       2023-03-09 15:04:04 +08:00
    毋庸置疑,开源项目质量是非常重要的。
    但是不同的项目有不同的测试方法,有的项目侧重模块级别、功能级别的测试,有的偏重性能测试。
    dperf 主要强调模块、功能级别的测试,没有单元测试。 https://github.com/baidu/dperf
    jones2000
        10
    jones2000  
       2023-03-09 22:38:36 +08:00
    单元测试会加重开源作者的工作量, 特别是个人开源作者,本来就是业余抽空的时间搞的。文档和测试实际比开发代码更消耗时间。
    hamsterbase
        11
    hamsterbase  
       2023-03-10 07:21:43 +08:00 via iPhone   ❤️ 1
    还有可能是代码开源,测试不开源。

    比如说 sqlite 的一部分测试是专有的
    matrix1010
        12
    matrix1010  
    OP
       2023-03-10 08:38:41 +08:00
    @hamsterbase sqlite 和我说的这些国产项目不具备可比性。就算有些没开源,已经开源的测试部分也已经吊打这些项目了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5979 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 02:14 · PVG 10:14 · LAX 18:14 · JFK 21:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.